# \#result

**URL:** https://discuss.ocaml.org/tag/result/607.md

[Latest](https://discuss.ocaml.org/latest.md) · [Categories](https://discuss.ocaml.org/categories.md) · [Tags](https://discuss.ocaml.org/tags.md)

---

## [Composition of two arguments function returning options](https://discuss.ocaml.org/t/composition-of-two-arguments-function-returning-options/17171)

<div class="topic-metadata">

**Author:** [@NAlec](https://discuss.ocaml.org/u/NAlec)\
**Replies:** 9\
**Last updated:** [August 29, 2025, 5:45pm UTC](https://discuss.ocaml.org/t/composition-of-two-arguments-function-returning-options/17171 "2025-08-29T17:45:15Z")

</div>

disclaimer : I am not even sure the title is correct. Provided the example below : type error1 = \[\`A\] type error2 = \[ error1 | \`B \] type a1 = int type a2 = int (\* conversion error1 to error2 if needed ?\*) let error…

---

## [Is there any consensus on which type to unify on for errors in result types? What's your preference?](https://discuss.ocaml.org/t/is-there-any-consensus-on-which-type-to-unify-on-for-errors-in-result-types-whats-your-preference/14304)

<div class="topic-metadata">

**Author:** [@ninjaaron](https://discuss.ocaml.org/u/ninjaaron)\
**Replies:** 19\
**Last updated:** [March 19, 2024, 10:42am UTC](https://discuss.ocaml.org/t/is-there-any-consensus-on-which-type-to-unify-on-for-errors-in-result-types-whats-your-preference/14304 "2024-03-19T10:42:58Z")

</div>

I like result types. I try to use them for (almost) any non-fatal error. This is one of the reasons I tend to prefer Jane Street standard libraries—i.e. they much prefer returning results to raising exceptions. I’ve lea…

---

## [Idiomatic let\*, Result.bind and Lwt.bind](https://discuss.ocaml.org/t/idiomatic-let-result-bind-and-lwt-bind/12554)

<div class="topic-metadata">

**Author:** [@mro](https://discuss.ocaml.org/u/mro)\
**Replies:** 3\
**Last updated:** [July 13, 2023, 10:25am UTC](https://discuss.ocaml.org/t/idiomatic-let-result-bind-and-lwt-bind/12554 "2023-07-13T10:25:17Z")

</div>

is that idiomatic Ocaml? let to\_let\_or\_not\_to\_let () : (unit,string) result Lwt.t = let ( let\* ) (r : ('a,'b) result) (f : 'a -\> ('c, 'b) result Lwt.t) : ('c,'b) result Lwt.t = match r with | Ok r -\> …
