<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def mark_typed_object(self, name, type_object):
 """Mark a property as containing a serializable object. This convenience method allows you to avoid having to call ``mark_complex()`` whenever you need to serialize a complex object. This method requires that property ``name`` be a single class that contains a dump() method and a Restore() class method where type_object.Restore(x.dump()) == x. Args: name (str):
 The name of the complex property. type_object: The class object that will be contained inside this property. """


        if not hasattr(type_object, 'dump'):
            raise ArgumentError("The passed type object %s is missing required method: dump()" % type_object)
        if not hasattr(type_object, 'Restore'):
            raise ArgumentError("The passed type object %s is missing required method: Restore()" % type_object)

        def _dump_obj(obj):
            if obj is None:
                return None

            return obj.dump()

        def _restore_obj(obj):
            if obj is None:
                return obj

            return type_object.Restore(obj)

        self.mark_complex(name, _dump_obj, _restore_obj)