I slutet av Brian McNamaras artikelserie om katamorfismer (del sju och åtta) formulerar han continuations som en monad med hjälp av F#’s “computation expressions”. Computation expressions är en sorts “monadsyntax” (i stil med Haskells) på något som i F# kallas för “builder objects” eller “monadic builders”.

Builder objects i sin tur kan möjligen förstås som en form av generaliserad “LINQ-provider”. Genom att implementera de fyra funktionerna/metoderna Delay, Bind, Let och Return kan ett builder object representera monadiska strukturer.

Typsignaturerna för en “monadic builder” (för en monadisk typ M):

type M-Builder with
    member Bind   : M<‘a> * (‘a -> M<‘b>) -> M<‘b>
    member Return : ‘a -> M<‘a>
    member Delay  : (unit -> M<‘a>) -> M<‘a>
    member Let    : ‘a * (‘a -> M<‘b>) -> M<‘b>

Några artiklar i ämnet: