code: def serializeFields(data):
          
          if isinstance(data, MambuStruct):
              return data.serializeStruct()
          try:
              it = iter(data)
          except TypeError as terr:
              return unicode(data)
          if type(it) == type(iter([])):
              l = []
              for e in it:
                  l.append(MambuStruct.serializeFields(e))
              return l
          elif type(it) == type(iter({})):
              d = {}
              for k in it:
                  d[k] = MambuStruct.serializeFields(data[k])
              return d
          # elif ... tuples? sets?
          return unicode(data)
docs: Turns every attribute of the Mambu object in to a string representation.
  
          If the object is an iterable one, it goes down to each of its
          elements and turns its attributes too, recursively.
  
          The base case is when it's a MambuStruct class (this one) so it
          just 'serializes' the attr atribute. Refer to
          MambuStruct.serializeStruct pydoc.
  
          This is perhaps the worst way to do it, still looking for a better way.