code: def thaw(o):
      
      if isinstance(o, PVector):
          return list(map(thaw, o))
      if isinstance(o, PMap):
          return dict((k, thaw(v)) for k, v in o.iteritems())
      if isinstance(o, PSet):
          return set(o)
      if type(o) is tuple:
          return tuple(map(thaw, o))
      return o
docs: Recursively convert pyrsistent containers into simple Python containers.
  
      - pvector is converted to list, recursively
      - pmap is converted to dict, recursively on values (but not keys)
      - pset is converted to set, but not recursively
      - tuple is converted to tuple, recursively.
  
      >>> from pyrsistent import s, m, v
      >>> thaw(s(1, 2))
      set([1, 2])
      >>> thaw(v(1, m(a=3)))
      [1, {'a': 3}]
      >>> thaw((1, v()))
      (1, [])