Issue #25. `do` semantic is cleaner and eliminates extra closure.