code: def _init_matcher(self, *args, **kwargs):
          
  
          # If subject-less expectation are provided as arguments convert them
          # to plain Hamcrest matchers in order to allow complex compositions
          fn = lambda x: x.evaluate() if isinstance(x, Expectation) else x
          args = [fn(x) for x in args]
          kwargs = dict((k, fn(v)) for k, v in kwargs.items())
  
          matcher = self.matcher(*args, **kwargs)
          self.expr.append(matcher)
          self.matcher = None
          return matcher
docs: Executes the current matcher appending it to the expression