Introduce count_by with a secondary field

I've re-used "count_by" the expression because there isn't ambiguity, but happy to give it a different name too if people prefer.
Yeh, no call-by-name (at least not only - I would be fine with both for completeness - it is probably useful for any computationally expensive defaults).