type 'a t is the type of objects, where each object is part of an
equivalence class that is associated with a single value of type 'a.
create v returns a new object in its own equivalence class that has value v.
get t returns the value of the class of t.
set t v sets the value of the class of t to v.