_fun :: Parser TypeAST'
type_fun =
    chainr1
        (    try type_app
         <|> try type_var
         <|> parens type_fun)
        (TypeFun <$ reservedOp "->")

ty
type_fun :: Parser TypeAST'
type_fun =
    chainr1
        (    try type_app
         <|> try type_var
         <|> parens type_fun)
        (TypeFun <$ reservedOp "->")
type_fun =
    chainr1
        (    try type_app
         <|> try type_var
         <|> parens type_fun)
        (TypeFun <$ reservedOp "->")