Not sure how how to fomulate the question, but this is the case:
interface X {
some: number
}
let arr1: Array<X> = Array.from([{ some: 1, another: 2 }]) // no error
let arr2: Array<X> = Array.from<X>([{ some: 1, another: 2 }]) // will error
The error:
Argument of type '{ some: number; another: number; }[]' is not assignable to parameter of type 'ArrayLike<X>'.
Index signatures are incompatible.
Type '{ some: number; another: number; }' is not assignable to type 'X'.
Object literal may only specify known properties, and 'another' does not exist in type 'X'.
Why in first case there is no error (no type comparability check), is it by design or there is an issue for this?