public static STML <C> SelectMany <A, B, C>(this STML <A> m, Func <A, STML <B> > f, Func <A, B, C> project) => m.Bind(a => f(a).Bind(b => project(a, b).Lift()));
public static STML <B> Select <A, B>(this STML <A> m, Func <A, B> f) => m.Bind(a => f(a).Lift());