import Debug
export Variable new_variable

Variable : set of Entity := {}
value : map from Variable to Entity

func new_variable -> Variable
  result := new(Variable)
  value(result) := Undefined

func assign(self, new_val) -> Entity
  value(self) := new_val
  return self
