(* Do-nothing action *)
| ESet of string * exp
(* Set an environment variable *)
- | EGet of string * string * exp
+ | EGet of string * typ option * string * exp
(* Get an environment variable *)
| ESeq of exp list
(* Monad sequencer; execute a number of commands in order *)
(* Apply a TNested to an action *)
| EALam of string * pred * exp
(* Abstraction for building TNested values *)
+ | EIf of exp * exp * exp
+ (* If..then..else *)
withtype exp = exp' * position
datatype decl' =