public static Lst <T> cons <T>(T head, Lst <T> tail) => tail.Insert(0, head);
public static Lst <T> Cons <T>(this T head, Lst <T> tail) => tail.Insert(0, head);
public static Lst <A> Cons <A>(this A head, Lst <A> tail) => tail.Insert(0, head);