Microsoft introduced LINQ query comprehensions into C# version 3.0.
Many people are mistaken in believing LINQ is about enumerable data structures or SQL queries.
These are just monad instances! LINQ query comprehensions are syntactic sugar for working with any monad.
What we have called bind
, C#/LINQ calls SelectMany
and what we have called
Transformer
, C# calls Func
. C# also introduces syntactic sugar for instantiating
Func
.