functor (Key : Id_Datatype-> sig type 'value t end