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