code: def from_string(cls, string, exists=False, asynchronous=False, verbose=False):
          
          result = cls.parse(string)
  
          if result.scheme not in cls.TYPES:
              raise CopyError("Invalid scheme: %s" % (result.scheme))
  
          return cls.TYPES[result.scheme](result, exists, asynchronous, verbose)
docs: if exists is bool, then check it either exists or it doesn't.
          if exists is None, we don't care.