code: def friendly_type_name(self) -> str:
          
          _constraints_set = []
          if self._must_be_dir:
              _constraints_set.append('must be a directory')
          if self._must_be_file:
              _constraints_set.append('must be a file')
          if self._must_exist:
              _constraints_set.append('must already exist')
          _constraints_as_str = ' (' + ', '.join(_constraints_set) + ')' if _constraints_set else ''
          return 'path' + _constraints_as_str
docs: :return: friendly type name for the end-user
          :rtype: str