pub fn coroutine_trait_ref_and_outputs<'tcx>(
    tcx: TyCtxt<'tcx>,
    fn_trait_def_id: DefId,
    self_ty: Ty<'tcx>,
    sig: GenSig<TyCtxt<'tcx>>,
) -> (TraitRef<'tcx>, Ty<'tcx>, Ty<'tcx>)