<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add_reciprocal_link(self, target, weight):
 """ Add links pointing in either direction between ``self`` and ``target``. This creates a ``Link`` from ``self`` to ``target`` and a ``Link`` from ``target`` to ``self`` of equal weight. If ``target`` is a list of ``Node`` 's, repeat this for each one. Args: target (Node or list[Node]):
 weight (int or float):
 Returns: None Example: node.Link instance pointing to node with value "Two" with weight 5 node.Link instance pointing to node with value "One" with weight 5 """

        # Generalize ``target`` to a list
        if not isinstance(target, list):
            target_list = [target]
        else:
            target_list = target
        for t in target_list:
            self.add_link(t, weight)
            t.add_link(self, weight)