> it's when there's a block given and args.empty? that the block is treated in a special way we're deprecating, right?

I don't think so. Start with the referenced PR that actually implements the new behaviour, then come back here.