-- | Execute the computation represented by a Symbols monad.
runSymbols :: Symbols a
           -- ^ The Symbols monad to execute.
           -> (Symbol, Symbol)
           -- ^ The low and high range of the symbols.
           -> [(Symbol, ByteString)]
           -- ^ The mapping of symbols.  The mapping to the lowest
           -- index is taken as the null symbol.
           -> IO a
runSymbols = runSymbolsT
runSymbols :: Symbols a
           -- ^ The Symbols monad to execute.
           -> (Symbol, Symbol)
           -- ^ The low and high range of the symbols.
           -> [(Symbol, ByteString)]
           -- ^ The mapping of symbols.  The mapping to the lowest
           -- index is taken as the null symbol.
           -> IO a
runSymbols = runSymbolsT
runSymbols = runSymbolsT