Caml Light + shift/reset = Caml Shift

We show a direct implementation of shift/reset in the Caml Light system. This implementation enables us to program with shift/reset in a typed setting easily. The implementation supports the optimization at return time employed in the original ZINC abstract machine. We show various execution examples together with their types. The implementation is expected to promote the use of delimited control operators in practice.