> All libraries should handle closed objects robustly for all methods.
I do not disagree with the "should" part of that.
I do not think the sentence is correct if it loses "should". The proposed alternative, ref counting, does block scope finalization without breaking any existing code.
Cheers,
V.