code: def stage(obj, parent=None, member=None):
      
      obj = Staged(obj, parent, member)
  
      if isinstance(obj, Mapping):
          for key, value in obj.items():
              stage(value, obj, key)
      elif isinstance(obj, Sequence) and not isinstance(obj, string_types):
          for index, value in enumerate(obj):
              stage(value, obj, index)
      elif isinstance(obj, Set):
          for value in obj:
              stage(value, obj, None)
  
      return obj
docs: Prepare obj to be staged.
  
      This is almost used for relative JSON Pointers.