code: def _try_prop_method(self, instance, value, method_name):
          
          error_messages = []
          for prop in self.props:
              try:
                  return getattr(prop, method_name)(instance, value)
              except GENERIC_ERRORS as err:
                  if hasattr(err, 'error_tuples'):
                      error_messages += [
                          err_tup.message for err_tup in err.error_tuples
                      ]
          if error_messages:
              extra = 'Possible explanation:'
              for message in error_messages:
                  extra += '\n    - {}'.format(message)
          else:
              extra = ''
          self.error(instance, value, extra=extra)
docs: Helper method to perform a method on each of the union props
  
          This method gathers all errors and returns them at the end
          if the method on each of the props fails.