singleton :: [CodeTree] -> Bool
combine :: [CodeTree] -> [CodeTree]
Refactor: better naming convention to avoid shadowing previous symbols
formatting
until :: ([CodeTree] -> Bool) -> ([CodeTree] -> [CodeTree]) -> [CodeTree] -> [CodeTree]
createCodeTree :: [Char] -> CodeTree
Adding type to test (avoiding warning from haskell-mode)
decode :: CodeTree -> [Bit] -> [Char]