         var t: HuffmanTable?
 
         while true {
+            // TODO: WTF is going on with `decoded`?
             decoded -= 1
             if decoded <= 0 {
                 decoded = 50

        }

        func bwt(transform data: Data) -> [Int] {
            let bytes = data.toArray(type: UInt8.self).sorted()
            var base: [Int] = Array(repeating: -1, count: data.count)
            for i in 0..<256 {
                base[i] = bytes.index(of: UInt8(truncatingBitPattern: UInt(i))) ?? -1
            }

            var pointers: [Int] = Array(repeating: -1, count: data.count)

        }

        let selectorsList = try computeSelectorsList()
        let symbolsInUse = used.filter { $0 }.count + 2

        func computeTables() throws -> [HuffmanTable] {
            var tables: [HuffmanTable] = []
