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