Type alias ContextualizedTask<C, S>
ContextualizedTask<C, S>: S extends NamedTask<Task<infer CC, any, any>> ? C extends CC ? S : CC extends ExecutionContext<infer E, infer RM> ? C extends ExecutionContext<infer CE, infer CRM> ? [CE, CRM] extends [E, RM] ? S : NamedTask<Task<C, any, any>> : never : never : NamedTask<Task<C, any, any>>