C# is a very flexible language, but that flexibility also makes it easy for side effects and mutable state to spread through a codebase. I built PureSharp to bring a few functional-programming ideas into everyday C# development and make them enforceable at compile time. GitHub: https://github.com/mao2009/PureSharp NuGet: https://www.nuget.org/packages/loach.PureSharp What PureSharp tries to enforce PureSharp focuses on three ideas: Purity : methods explicitl...