None の結果を説明するメッセージを提供する必要があるため、基本的には次のようなことができればいいのにと思います。
let func x y z = if x y then Some(z) else None("It didn't work out, because blah blah blah")
これの標準タイプはありますか?
いいえの場合、自分の型に同じ Some と None の名前を使用できますか?
アップデート:
独自のユニオンを作成してみました。
type CanBe<'a> =
| Some of 'a
| None of string
うまくいきそうですよね?