The original code does the same! All the real work is inside `convert` and `format`, it just adds another layer of complexity on top.
The ideal version has the same behaviour and shows that the extra complexity is unnecessary.