docs: def get_functions_cards(self, what, allfuncs):
          """Return a pair of lists of Card widgets for used and unused functions.
  
          :param what: a string: 'trigger', 'prereq', or 'action'
          :param allfuncs: a sequence of functions' (name, sourcecode, signature)
  
          """
          if not self.rule:
              return [], []
          rulefuncnames = getattr(self.rule, what+'s')
          unused = [
              Card(
                  ud={
                      'type': what,
                      'funcname': name,
                      'signature': sig
                  },
                  headline_text=name,
                  show_art=False,
                  midline_text=what.capitalize(),
                  text=source
              )
              for (name, source, sig) in allfuncs if name not in rulefuncnames
          ]
          used = [
              Card(
                  ud={
                      'type': what,
                      'funcname': name,
                  },
                  headline_text=name,
                  show_art=False,
                  midline_text=what.capitalize(),
                  text=str(getattr(getattr(self.engine, what), name))
              )
              for name in rulefuncnames
          ]
          return used, unused