docs: def _dotnotation_for_nested_dictionary(d, key, dots):
      """
      Flattens nested data structures using dot notation.
      :param dict d: Original or nested dictionary
      :param str key:
      :param dict dots: Dotted dictionary so far
      :return dict: Dotted dictionary so far
      """
      if key == 'chronData':
          # Not interested in expanding chronData in dot notation. Keep it as a chunk.
          dots[key] = d
      elif isinstance(d, dict):
          for k in d:
              _dotnotation_for_nested_dictionary(d[k], key + '.' + k if key else k, dots)
      elif isinstance(d, list) and \
              not all(isinstance(item, (int, float, complex, list)) for item in d):
          for n, d in enumerate(d):
              _dotnotation_for_nested_dictionary(d, key + '.' + str(n) if key != "" else key, dots)
      else:
          dots[key] = d
      return dots