public static int hash <Pred, A>(Lst <Pred, A> xs) where Pred : struct, Pred <ListInfo> => xs.GetHashCode();
public static int hash <PredList, PredItem, A>(Lst <PredList, PredItem, A> xs) where PredList : struct, Pred <ListInfo> where PredItem : struct, Pred <A> => xs.GetHashCode();
public static int hash <A>(Lst <A> xs) => xs.GetHashCode();