(1) maybe-ref and either-ref should call their failure and success arguments via a tail call.
(2) maybe-bind and either-bind should call their respective last argument via a tail call.