55
generic
   type Key_Type is private;
   -- re-emergence of predefined "=" for KT is OK
   type Element_Type is private;
   with function Hash
     (Key : Key_Type) return Hash_Type;
   with function Equivalent_Keys
     (Left, Right : Key_Type) return Boolean;
   with function "=" (Left, Right : Element_Type)
     return Boolean is <>;
   -- need to pass in "=" for ET, since predefined
   -- equality is not necessarily what we want
package Ada.Containers.Hashed_Maps is ...;