Functional error handling puts potentially hazardous values inside containers instead of exposing them directly or managing them with try-catch. Functions transform the contained value through mapping, preserving a safer and immutable boundary. section 5.2
Chaining wrapped transformations
const two = wrap(2); two.fmap(plus3).fmap(plus10); //-> Wrapper(15). The value stays inside its context while multiple operations are composed.
