: Lexer (Pos Token)
name = (<?> "identifier") $ withPos $ do
    bind <- P.option False (const True <$> char '?')
    base <- bareName
    primes <- many (char '\'')
    return $ (if bind then Bind else Name) (base ++ primes)

labe
name :: Lexer (Pos Token)
name = (<?> "identifier") $ withPos $ do
    bind <- P.option False (const True <$> char '?')
    base <- bareName
    primes <- many (char '\'')
    return $ (if bind then Bind else Name) (base ++ primes)
name = (<?> "identifier") $ withPos $ do
    bind <- P.option False (const True <$> char '?')
    base <- bareName
    primes <- many (char '\'')
    return $ (if bind then Bind else Name) (base ++ primes)