<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def equal(self, value_a, value_b):
 #pylint: disable=no-self-use """Check if two valid Property values are equal .. note:: This method assumes that :code:`None` and :code:`properties.undefined` are never passed in as values """

        equal = value_a == value_b
        if hasattr(equal, '__iter__'):
            return all(equal)
        return equal