Std.Tree.mapResult
fn
mapResult: &Std.Tree.Tree[A] -> fn(A) -> Result[B, E] -> Result[Std.Tree.Tree[B], E]This is a callable function.
What it does
Every value transformed, keeping the shape, where transforming may fail.
The first failure is the answer and the rest is not attempted, because a
tree half-transformed is not a tree anyone asked for. This is written for
`Result` rather than for whatever a caller's failure happens to be: naming
the carrier would need a type parameter that stands for a type constructor,
which the language does not have.
Read the signature
- The text after the name is the type checked by Pudu.
- Read arrows from left to right: inputs come first, and the final type is returned.
- & borrows a value for this call instead of moving or copying it.
- Names inside [ ] are type arguments, such as the item type held by a collection.
- Result makes success and recoverable failure part of the function's type.
