data ExprF x = ValF Int | PlusF x x pretty :: ExprF String -> String pretty (ValF n) = show n pretty (PlusF s t) = s ++ " + " ++ t ex :: ExprF String ex = ValF 43 main = print $ pretty ex