parameters: (type, suffixes, base_type = None, os = [])
docstring: Register the given type on the specified OSes, or on remaining OSes
          if os is not specified.  This rule is injected into each of the type
          modules for the sake of convenience.
docstring_summary: Register the given type on the specified OSes, or on remaining OSes
          if os is not specified.  This rule is injected into each of the type
          modules for the sake of convenience.
docstring_tokens: Register the given type on the specified OSes or on remaining OSes if os is not specified . This rule is injected into each of the type modules for the sake of convenience .
function: def register_type (type, suffixes, base_type = None, os = []):
      """ Register the given type on the specified OSes, or on remaining OSes
          if os is not specified.  This rule is injected into each of the type
          modules for the sake of convenience.
      """
      assert isinstance(type, basestring)
      assert is_iterable_typed(suffixes, basestring)
      assert isinstance(base_type, basestring) or base_type is None
      assert is_iterable_typed(os, basestring)
      if registered (type):
          return
  
      if not os or os_name () in os:
          register (type, suffixes, base_type)
function_tokens: def register_type ( type , suffixes , base_type = None , os = [ ] ) : assert isinstance ( type , basestring ) assert is_iterable_typed ( suffixes , basestring ) assert isinstance ( base_type , basestring ) or base_type is None assert is_iterable_typed ( os , basestring ) if registered ( type ) : return if not os or os_name ( ) in os : register ( type , suffixes , base_type )