docs: def duplicate(self, newname):
          """Return a new rule that's just like this one, but under a new
          name.
  
          """
          if self.engine.rule.query.haverule(newname):
              raise KeyError("Already have a rule called {}".format(newname))
          return Rule(
              self.engine,
              newname,
              list(self.triggers),
              list(self.prereqs),
              list(self.actions)
          )