I have the feeling that things like
```
a.map!(mapperFun).reduce!(reducerFun).array;
```
is only possible thanks to an exception system. A similar
expressivity looks impossible for example with the idom of result
tuple `(error_code, actuallResult)`.
that problem is currently something rather serious, in the sense
that, let's say you want to make a standard library, you really
need to have a well defined way of handling errors.
I'll be interested to read your thoughts on that topic.