docs: def importer(name, extensions=None, sniff=None):
      '''
      @importer(name) is a decorator that declares that the following function is an file loading
        function that should be registered with the neuropythy load function. See also the
        forget_importer function.
  
      Any importer function must take, as its first argument, a filename; after that it may take any
      number of keyword arguments, but no other non-keyword arguments. These keyword arguments can be
      passed to the neuropythy load function.
      
      The following options are accepted:
        * extensions (default: None) may be a string or a collection of strings that indicate possible
          file extensions for files of this type.
        * sniff (default: None) may optionally be a function f(s) that yields True when the given
          string s is a filename for a file of this type. If no sniff is given, this type can still
          be detected by running the importer and catching any raised exception.
      '''
      name = name.lower()
      if name in importers:
          raise ValueError('An importer for type %s already exists; see forget_importer' % name)
      if extensions is None:         extensions = ()
      elif pimms.is_str(extensions): (extensions,)
      else:                          extensions = tuple(extensions)
      def _importer(f):
          global importers
          importers = importers.set(name, (f, extensions, sniff))
          setattr(load, name, f)
          return f
      return _importer