I've recently been building a couple of very small fluent interfaces. These have been focused on component testing, where some of their disadvantages aren't as important. Let me give an example: public void PartialRecoveryFromTwoSessions() {
When
.SessionStartsAt("1 Jan 1990 21:25:00", s => s
.MessagesProcessed(3, 5, 1))
.And.SessionStartsAt("1 Jan 1990 21:35:00", s => s
.MessagesProcessed(2, 6))
.Then
...