type value = int;;
type variable = string;;

type environment;;

exception Unbound_variable of variable;;

val empty : environment;;

val bind : variable -> value -> environment -> environment;;

(* It may raise Unbound_variable *)
val lookup : variable -> environment -> value;;
