  We introduce a library which provides an abstract data type of environments,
as a functor parameterized by a module defining variables, and a function which
builds environments for such variables with any Type of type. Usual operations
over environments are defined, along with an extensive set of basic and more
advanced properties. Moreover, we give an implementation using lists satisfying
all the required properties.
