Top 20 NuGet maybe Packages

Async extensions for Nils Lück's Optional library.
Binaries for the Option type. Visit for an overview and usage examples.
Optional is a robust option/maybe type for C#.
Option types for C# with LINQ support and rich fluent syntax for many popular uses: var maybeOne = "one".ToMaybe(); Maybe<string> maybeAnother; var maybeBoth = from one in maybeOne from another in maybeAnother select one + another; maybeBoth.Match( both => Console.WriteLine("...
C# implementation of functional concepts: Maybe (Option), Either (Result), Try, Memoize
Yet another Maybe! This Maybe is an immutable monad type with enhancements for functional programming in C#. It implements several IEquatable and IComparable to nestle smoothly into existing code.
This package includes implementation of Maybe, Try, Either with set of utility extension methods.
A lightweight wrapper type for optional values.
SoftwareCraft.Maybe represents the OOP implementation of a functional concept. Instead of returning null, return a Maybe, and the code will be much cleaner and the intent much clearer.
A collection of useful types and operations on types.
.NET library that provide mainly functional features for C#. This means concept of Option, Result, Either and ValueObject. Supported platforms: - .NET Standard 1.0+ - .NET Core 1.0+ - .NET Framework 2.0+ Supports Source Link
Function programming goodness: algebraic structures, Maybe, Either, Unit, State, Writer, Functor, Monad, Monoid, Lenses, and more.
Useful Optional extensions for working with collections.
Various useful functionality for Optional.
Serialization library for Maybee and Newtonsoft JSON.
Nelibur.Sword is a library to take with you in the battle of Clean Code.
Implements an option type (Strilanc.Value.May<T>) that encourages usage based on pattern matching rather than ForceGetValue. Also includes utility methods for producing, consuming and transforming May<T>. Note on null: May<T> treats null like any other value. May.NoValue is distinct from null, and ...
Features implementations of some of the usual suspects from functional programming: option type (Maybe<T>), error types (Result<T, TError>, Outcome<T> and Fallible<T>) for Railway Oriented Programming, simple disjoint union (Either<T1, T2>), (finite and infinite) sequence generators and LINQ extensi...
This project provides the monads Maybe(of T) and Try(of T), both with full support for modern async/await code.
Json converter for error-less serialization of Maybe type when using Newtonsoft.Json. Just add MaybeConverter to your list of Json converters.