infixr 6 ** infixr 4 ++ ; functor EXPN() = struct datatype Expn = Id of string (* identifiers *) | Lit of int (* literals *) | op ++ of Expn * Expn (* addition *) | op ** of Expn * Expn (* multiplication *) end;