<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _load_object(self, obj):
 """Recursively load a PyPhi object. PyPhi models are recursively loaded, using the model metadata to recreate the original object relations. Lists are cast to tuples because most objects in PyPhi which are serialized to lists (eg. mechanisms and purviews) are ultimately tuples. Other lists (tpms, repertoires) should be cast to the correct type in init methods. """

        if isinstance(obj, dict):
            obj = {k: self._load_object(v) for k, v in obj.items()}
            # Load a serialized PyPhi model
            if _is_model(obj):
                return self._load_model(obj)

        elif isinstance(obj, list):
            return tuple(self._load_object(item) for item in obj)

        return obj