'Add ``item`` to the ``original`` ``Pset`` or if the item is itself a
Pyrsistent object, add a new proxy for that item so that further
operations can be performed on it without triggering invariant checks
until the tree is finally committed.
:param item: An object to be added to the ``PSet`` wrapped by this
proxy.
:returns: ``self``'

def add(self, item):

    if _IEvolvable.providedBy(item):
        self._children[item] = _proxy_for_evolvable_object(item)
    else:
        self._evolver.add(item)
    return self
