functor (H : Hash.S-> S.Generator