public static byte select(uint src, Part3x1 part) => (byte)Bits.gather(src, (uint)part);
public static uint project(uint src, Part3x1 part) => Bits.scatter(src, (uint)part);
public static T project <T>(uint src, Part3x1 part) where T : unmanaged => convert <T>(project(src, part));
public static uint ToScalar(this Part3x1 src) => (uint)src;