Event Sourcing, CQRS and Memory Image are architectural patterns that often go hand in hand, and they have a strong following in the .NET community. Unfortunately, solutions found there and in existing Java frameworks follow a very object-oriented approach. However, the very ideas behind these patterns, especially event sourcing, are a natural fit for a functional programmer's mindset.