public Functor <Id, B> Map <A, B>(Functor <Id, A> prev, Func <A, B> ab) => prev.Map(ab);
public static A Cata <F, A>(Fix <F> structure, Func <App <F, A>, A> algebra, Functor <F> aa) { var a = structure.Unfix; return(algebra(aa.Map(a, x => Cata(x, algebra, aa)))); }