code: def set_genus_type(self, genus_type):
          
          if self.get_genus_type_metadata().is_read_only():
              raise errors.NoAccess()
          if not self._is_valid_type(genus_type):
              raise errors.InvalidArgument()
          self._my_map['genusTypeId'] = str(genus_type)
docs: Sets a genus.
  
          A genus cannot be cleared because all objects have at minimum a
          root genus.
  
          arg:    genus_type (osid.type.Type): the new genus
          raise:  InvalidArgument - ``genus_type`` is invalid
          raise:  NoAccess - ``Metadata.isReadonly()`` is ``true``
          raise:  NullArgument - ``genus_type`` is ``null``
          *compliance: mandatory -- This method must be implemented.*