1 2 3 4 5 6 7 8 9 10
abstract Symbols = { cat Exp ; fun -- EInt : Int -> Expp ; --- clashes with EVar... EVar : String -> Exp ; EIn, EPlus, ETimes, EEq, EGt, ELt : Exp -> Exp -> Exp ; }