code: def to_dict(self):
          
          out_dict = dict(self)
          for k, v in out_dict.items():
              if v is self:
                  out_dict[k] = out_dict
              elif hasattr(v, 'to_dict'):
                  out_dict[k] = v.to_dict()
              elif hasattr(v, 'to_list'):
                  out_dict[k] = v.to_list()
          return out_dict
docs: Turn the Box and sub Boxes back into a native
          python dictionary.
  
          :return: python dictionary of this Box