nextSymbol :: Monad m => BuilderT g m (SymId)
nextSymbol = do
    i <- use bs_next_sym
    bs_next_sym += 1
    return (SymId i)
nextSymbol :: Monad m => BuilderT g m (SymId)
nextSymbol = do
    i <- use bs_next_sym
    bs_next_sym += 1
    return (SymId i)
nextSymbol = do
    i <- use bs_next_sym
    bs_next_sym += 1
    return (SymId i)