Functors, applicatives and monads for csharp developers

For me personally, the whole functor/applicative/monad thing was one of the hardest things to grasp when studying FP.

Being familiar with C#, I wondered why these concepts were missing in C#, so I decided - as an exercise and to see if I really understood it - to implement it in C#.

This was the result:

If you have any questions or remarks: shoot!