public static S fold <NEWTYPE, T, S, PRED>(NewType <NEWTYPE, T, PRED> value, S state, Func <S, T, S> folder) where PRED : struct, Pred <T> where NEWTYPE : NewType <NEWTYPE, T, PRED> => value.Fold(state, folder);
public static S fold <T, S>(NewType <T> value, S state, Func <S, T, S> folder) => value.Fold(state, folder);