public Func <Unit, S> Fold <S>(HashMap <K, V> fa, S state, Func <S, V, S> f) => _ => fa.Fold(state, f);
public static S FoldT <A, B, C, D, S, V>(this HashMap <A, HashMap <B, HashMap <C, HashMap <D, V> > > > map, S state, Func <S, V, S> folder) { return(map.Fold(state, (s, x) => x.FoldT(s, folder))); }