An algebraic data type for representing the environment