join flattens nested monadic values into a single layer. It matters when composing monad-returning functions produces wrappers inside wrappers. section 5.3
With Wrapper, join recursively peels away inner Wrapper layers, like peeling an onion. The same idea is compared to flattening arrays. section 5.3
Nested Wrapper collapsed
Wrapper.of(Wrapper.of(Wrapper.of('Get Functional'))).join() returns Wrapper('Get Functional').


