Types

Funk introduces various types for addressing common problems and scenarios that developers face daily. These types include:

Unit represents an empty value and a replacement for Void type which cannot be used directly in C#.

Maybe that represents a possible absence of data.

Record which provides the alternative for ValueTuple as it makes its inner values immutable.

OneOf which represents a discriminated (tagged) union that can be one of more possible values at a time.

Exc that represents a possible failure.

Pattern, AsyncPattern, TypePattern, AsyncTypePattern that represent lazy pattern matching evaluations.

Data and Builder that provide a fluent way of building immutable objects.


Table of contents