type IsAny = unknown extends T ? (T extends {} ? T : never) : never type NotAny = T extends IsAny ? never : T type NotUnknown = unknown extends T ? never : T type NotTopType = NotAny & NotUnknown // this is not meant to be run, just for type tests export function assertNotAny(_val: NotTopType) {} // this is not meant to be run, just for type tests export function assertIs(_val: T) {}