InlineIfLambda属性を利用して最適化された、F#のコンピューテーション式のビルダーの実装です。
MITライセンスで単一ファイルで実装しています。
以下の型のビルダーを提供しています。
Option<'t>ValueOption<'t>Result<'t, 'e>Lazy<'t>
Examples
Do.voption {
let! x = Some 40
let! y = ValueSome 2
return x + y
}
|> function
| ValueNone -> printfn "result is none."
| ValueSome a -> printfn "result = %d." a
Reference
Gnicoさんのこちらの記事が参考になりました、ありがとうございます。