docs: def to_dict(self, dict_cls=FrozenOrderedDict):
          # type: (Type[dict]) -> Dict[str, Any]
          """Create a dictionary representation of object attributes
  
          Returns:
              OrderedDict serialised version of self
          """
          pairs = tuple((k, serialize_object(getattr(self, k), dict_cls))
                        for k in self.call_types)
          if self.typeid:
              d = dict_cls((("typeid", self.typeid),) + pairs)
          else:
              d = dict_cls(pairs)
          return d