functor (A : Attributes-> sig val dump : string -> unit end