Replace liftM2 with custom fromMaybeM
Replace liftM2 with custom fromMaybeM

fromMaybeM is functionally equivalent to liftM2 fromMaybe, but the
latter form was always evaluating the first argument regardless of the
second being Just or Nothing. This had the nasty effect of constantly
responding 401 NotAuthorized.

peterwang/carnival,vaporware/carnival,thoughtbot/carnival