private void OnDrawPoint(Either <Error, Canvas> canvas, int x, int y) { canvas.ConsumeRight(c => { c.DrawPoint(Tuple.Create(x, y)) .ConsumeNone(() => _display.Render(c.Points())) .ConsumeSome(e => _display.RenderError(e.Message)); }); }