If I define a fluent API, I might have an interface such as this: public interface IRegistrar { IRegistrar UsingThis(object someThing); IRegistrar UsingThat<TThatThing>() } If I create a mock of this using the default Behaviour.RecursiveLoose and make no arrangements, calls to the methods will return new mocks of the type, rather than the same instance that was called. It would be nice to have a behaviour type that can return the same instance (in this case the mocked instance) without having to define a stub for each method call. My code under test might look like: IRegistrar reg; reg .UsingThis(new object()) .UsingThat<int>(); Currently, a test on the second call will fail if written against the mock assigned to 'reg'.