         }
     public static var allOnes:Int32{return Int32(bitPattern: UInt32.max)}
     public static var size:Int{return strideof(self)}
-    subscript(index: Int) -> Int32 {
+    public subscript(index: Int) -> Int32 {
         get {
             precondition(index<Int32.size,"Byte set index out of range")
             return ((self.toU32 & (0xFF << index.toU32)) >> index.toU32).to32

        }
    public static var allOnes:UInt64{return UInt64.max}
    public static var size:Int{return strideof(self)}
    subscript(index: Int) -> UInt64 {
        get {
            precondition(index<Int64.size,"Byte set index out of range")
            return self & (0xFF << index.toU64) >> index.toU64

        }
    public static var allOnes:UInt32{return UInt32.max}
    public static var size:Int{return strideof(self)}
    public subscript(index: Int) -> UInt32 {
        get {
            precondition(index<Int32.size,"Byte set index out of range")
            return self & (0xFF << index.toU32) >> index.toU32
