Level 1 (Loops) - (map
, reduce
, filter
, more).
Level 2 (Callbacks/Async) - Use Promise
s (or better yet, Future
s).*.
Level 3 (Assignment) - pipe
or compose
functions together to avoid unnecessary intermediate variable declarations.
A wild monad appears! Monet Olé!
Level 4 (null
/undefined
) - Use Maybe
monad.*.