Paket is the alternative package manager for .NET and this talk explains the reasoning behind why it exists and how it works
Functional Error Handling