         }
     public static var allOnes:UInt{return UInt.max}
     public static var size:Int{return strideof(self)}
-    subscript(index: Int) -> UInt {
+    public subscript(index: Int) -> UInt {
         get {
             precondition(index<Int.size,"Byte set index out of range")
             if(UInt.size == 8){

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

        }
    public static var allOnes:Int{return Int(bitPattern: UInt.max)}
    public static var size:Int{return strideof(self)}
    public subscript(index: Int) -> Int {
        get {
            precondition(index<Int.size,"Byte set index out of range")
            if(Int.size == 8){
