code: def recursive_asdict(d):
      
      out = {}
      for k, v in asdict(d).iteritems():
          if hasattr(v, '__keylist__'):
              out[k] = recursive_asdict(v)
          elif isinstance(v, list):
              out[k] = []
              for item in v:
                  if hasattr(item, '__keylist__'):
                      out[k].append(recursive_asdict(item))
                  else:
                      out[k].append(item)
          else:
              out[k] = v
      return out
docs: Convert Suds object into serializable format.