docs: def provides(self, call_name):
          """Provide a call.
  
          The call acts as a stub -- no error is raised if it is not called.::
  
              >>> session = Fake('session').provides('open').provides('close')
              >>> import fudge
              >>> fudge.clear_expectations() # from any previously declared fakes
              >>> fudge.clear_calls()
              >>> session.open()
              >>> fudge.verify() # close() not called but no error
  
          Declaring ``provides()`` multiple times is the same as
          declaring :func:`fudge.Fake.next_call`
  
          """
          if call_name in self._declared_calls:
              return self.next_call(for_method=call_name)
  
          self._last_declared_call_name = call_name
          c = Call(self, call_name)
          self._declare_call(call_name, c)
          return self