docs: def _right_join(left, right, left_key_fn, right_key_fn, join_fn=union_join):
      """
      :param left: left iterable to be joined
      :param right: right iterable to be joined
      :param function left_key_fn: function that produces hashable value from left objects
      :param function right_key_fn: function that produces hashable value from right objects
      :param join_fn: function called on joined left and right iterable items to complete join
      :rtype: list
      """
      def reversed_join_fn(left_ele, right_ele):
          return join_fn(right_ele, left_ele)
      return _left_join(right, left, right_key_fn, left_key_fn, reversed_join_fn)