strict input, lazy output
Code clean-up (no semantic changes)