code: def to_dict(self, fields=_all_fields, labels=None):
          
          fields = set(fields)
          diff = fields.difference(_all_fields)
          if isinstance(labels, Sequence):
              labels = _map_labels(self, labels)
          elif labels is None:
              labels = {}
          if diff:
              raise ValueError(
                  'Invalid field(s): {}'.format(', '.join(diff))
              )
          return _to_dict(self, fields, labels)
docs: Encode the node as a dictionary suitable for JSON serialization.
  
          Args:
              fields: if given, this is a whitelist of fields to include
                  on nodes (`daughters` and `form` are always shown)
              labels: optional label annotations to embed in the
                  derivation dict; the value is a list of lists matching
                  the structure of the derivation (e.g.,
                  `["S" ["NP" ["NNS" ["Dogs"]]] ["VP" ["VBZ" ["bark"]]]]`)
          Returns:
              dict: the dictionary representation of the structure