docs: def unpatch(*module_names):
      """undo :func:`patch`\es to standard library modules
  
      this function takes one or more module names and puts back their patched
      attributes to the standard library originals.
  
      valid arguments are the same as for :func:`patch`.
  
      with no arguments, undoes all monkeypatches that have been applied
  
      :raises: ``ValueError`` if an unknown module name is provided
      """
      if not module_names:
          module_names = _standard.keys()
  
      log.info("undoing monkey-patches in-place (%d modules)" %
               len(module_names))
  
      for module_name in module_names:
          if module_name not in _standard:
              raise ValueError("'%s' is not greenhouse-patchable" % module_name)
  
      for module_name in module_names:
          module = __import__(module_name, {}, {}, module_name.rsplit(".", 1)[0])
          for attr, value in _standard[module_name].items():
              setattr(module, attr, value)