t :: Lexer ()
comment = blockComment P.<|> lineComment --block must come before line
    where
    lineComment = void $ char '#' >> anyChar `manyTill` newline
    blockComment = oneBlock
        where
        oneBlock = void $ string "#{" >> inBlock `manyThru` string "}#"
        inBlock = oneBlock P.<|> void anyChar

rest
comment :: Lexer ()
comment = blockComment P.<|> lineComment --block must come before line
    where
    lineComment = void $ char '#' >> anyChar `manyTill` newline
    blockComment = oneBlock
        where
        oneBlock = void $ string "#{" >> inBlock `manyThru` string "}#"
        inBlock = oneBlock P.<|> void anyChar
comment = blockComment P.<|> lineComment --block must come before line
    where
    lineComment = void $ char '#' >> anyChar `manyTill` newline
    blockComment = oneBlock
        where
        oneBlock = void $ string "#{" >> inBlock `manyThru` string "}#"
        inBlock = oneBlock P.<|> void anyChar