Programming With Algebraic Effects and Handlers