It works for me:
type NoArray<T> = T extends Array<any> ? never : T; const obj: NoArray<{length: number}> = {length: 123}; // works fine const arr: NoArray<[{length: number}]> = [{length: 123}]; // TypeError
TS playground link