Underlying failure found while tracing #475 and #476 for async admission (#473, tracker #416). Both TS 6.0.3 and native TS 7.0.2 reject only the final assignment with TS2322; Home instead reports TS2339 on value.label because the contextual callback parameter becomes the uninstantiated T. This occurs in both a global script and an export-marked module, so it is not Promise-specific:
interface Mapper<T> { project<U>(callback: (value: T) => U): U; }
declare const mapper: Mapper<{ label: string }>;
const result = mapper.project(value => value.label);
const good: string = result;
const bad: number = result;Trace receiver instantiation, generic signature substitution and declaration-based contextual parameter re-lowering. Preserve bound outer type parameters while inferring method-owned parameters, including nested callbacks, constraints/defaults and shadowed parameter names. Test inferred and explicit calls plus negative result/argument controls; do not add explicit callback annotations or type arguments to avoid the failure. Recursive generic method results (Box<t>/Deferred<t>) also need the #475 audit. No affected async workload is admitted to timing.