public static Out <A> Execute <A>(this Subsystem <A> ma) => ma();
public static Subsystem <B> SelectMany <A, B>( this Subsystem <A> ma, Func <A, Subsystem <B> > f) => ma.Bind(f);
public static Subsystem <C> SelectMany <A, B, C>( this Subsystem <A> ma, Func <A, Subsystem <B> > bind, Func <A, B, C> project) => ma.Bind(a => bind(a).Map(b => project(a, b)));
public static Subsystem <B> Select <A, B>( this Subsystem <A> ma, Func <A, B> f) => ma.Bind(a => Return(f(a)));