generic
    type Operand_Type is limited private;
    with function "=" (Left, Right : Operand_Type) return Boolean;
package Equality_Operator is
    --------------------------------------------------------------------------
    -- Abstract   : This package enables one to declare a user-defined equality
    --              operator for any type.  This package was obtained from
    --                 Goodenough, John B.
    --                 "On defining "=" in Ada,
    --                 ACM Ada Letters, Vol. IV, Issue 4, 1985, pp. 27-31
    --                 Association for Computing Machinery
    --------------------------------------------------------------------------
    package Equals is
        function "=" (Left, Right : Operand_Type) return Boolean
            renames Equality_Operator."=";
    end Equals;
end Equality_Operator;