EvalSourceEval plugin: functors + inherited value to make decisions about how to map values.
Essentially, is a Gmap trait with polymorphic inherited attributes.
Is a simplified version of Stateful trait: doesn't allow to pass modified environment through transformation.
Inherited attributes' type (both default and for type parameters) is 'env.
Synthetized attributes' type (both default and for type parameters) is _ t.
For type declaration type ('a,'b,...) typ = ... it will create transformation function with type
('env -> 'a -> 'a2) -> ('env -> 'b -> 'b2) -> ... -> 'env -> ('a,'b,...) typ -> ('a2, 'b2, ...) typ