code: def _get_binop_contexts(context, left, right):
      
      # The order is important, since the first one should be
      # left.__op__(right).
      for arg in (right, left):
          new_context = context.clone()
          new_context.callcontext = contextmod.CallContext(args=[arg])
          new_context.boundnode = None
          yield new_context
docs: Get contexts for binary operations.
  
      This will return two inference contexts, the first one
      for x.__op__(y), the other one for y.__rop__(x), where
      only the arguments are inversed.