docs: def add_subrule(self, subrule, weight):
          """Add subrule to the rule.
  
          :param subrule:
              Subrule to add to this rule, an instance of :class:`Rule` or
              :class:`RuleLeaf`.
  
          :param float weight: Weight of the subrule
          """
          if not issubclass(subrule.__class__, (Rule, RuleLeaf)):
              raise TypeError("Rule's class must be (subclass of) {} or {}, got "
                              "{}.".format(Rule, RuleLeaf, subrule.__class__))
          self.__domains = set.union(self.__domains, subrule.domains)
          self.R.append(subrule)
          self.W.append(weight)