public static long ComposeLong(IntegerParts parts) => (long)ComposeULong(parts);
public static ulong ComposeULong(IntegerParts parts) => parts.ToULong();