Functional.Fluent is a set of extension methods and classes to provide a more flexible and convinient way to write functional style code in C# apps. The library supports the following: Maybe monad (XLinq support included) Result monad Monadic value Pattern matching Record types Enumerable extensions Tuple extensions IDisposable objects using chaining Functions currying and partial application Special kind of the state monad for 'function' objects