If it is not assignable error and infered expression type origin comes from inside of ast error boundaries we can show exact position of an error source ```ts interface Foo { a: number; } function foo1(): () => Foo { return () => ({a: ''}); } function foo2(): Promise<Foo> { return Promise.resolve({a: ''}); } function foo3(): Foo[] { return [{a: ''}]; } var y: Foo[] = [{a: ''}] var z: Foo[] = [].map(() => ({a: ''})) ```  @DanielRosenwasser what do you think?