values are either successful or failed
monad structure
JavaScript framework of simple functional extension