token :: Lexer (Pos Token)
token = choice [ whitespace
               , literal --must come before open paren, before name
               , opener
               , closer
               , punctuation
               , quotation
               , indentation
               , indentMark
               , label
               , name
               ]
token :: Lexer (Pos Token)
token = choice [ whitespace
               , literal --must come before open paren, before name
               , opener
               , closer
               , punctuation
               , quotation
               , indentation
               , indentMark
               , label
               , name
               ]
token = choice [ whitespace
               , literal --must come before open paren, before name
               , opener
               , closer
               , punctuation
               , quotation
               , indentation
               , indentMark
               , label
               , name
               ]