public static IStage <T0, T1> To <T0, T, T1>(this IStage <T0, T> stage1, IStage <T, T1> stage2) { Disposables stages = new Disposables(); stages.Add(stage1); stages.Add(stage2); stages.Add(stage1.Connect(stage2)); return(new CompositeStage <T0, T1>(stage1, stage2, stages)); }