docs: def nodes(self, tree):
          """
          Returns the relevant nodes for the spec's frequency
          """
          # Run the match against the tree
          if self.frequency == 'per_session':
              nodes = []
              for subject in tree.subjects:
                  for sess in subject.sessions:
                      nodes.append(sess)
          elif self.frequency == 'per_subject':
              nodes = tree.subjects
          elif self.frequency == 'per_visit':
              nodes = tree.visits
          elif self.frequency == 'per_study':
              nodes = [tree]
          else:
              assert False, "Unrecognised frequency '{}'".format(
                  self.frequency)
          return nodes