runFrontendNoBufferT :: MonadIO m => FrontendNoBufferT pos tok m a
                     -> [(ByteString, pos -> tok)]
                     -> m a
runFrontendNoBufferT lexer keywords =
  let
    commentbuffer = runKeywordsT lexer keywords
    genpos = runCommentBufferT commentbuffer
    gensym  = startGenposT genpos
  in
    startGensymT gensym
runFrontendNoBufferT :: MonadIO m => FrontendNoBufferT pos tok m a
                     -> [(ByteString, pos -> tok)]
                     -> m a
runFrontendNoBufferT lexer keywords =
  let
    commentbuffer = runKeywordsT lexer keywords
    genpos = runCommentBufferT commentbuffer
    gensym  = startGenposT genpos
  in
    startGensymT gensym
runFrontendNoBufferT lexer keywords =
  let
    commentbuffer = runKeywordsT lexer keywords
    genpos = runCommentBufferT commentbuffer
    gensym  = startGenposT genpos
  in
    startGensymT gensym