@Araq, I thought of it once again.
I would rather leave garbage collected references as a separate _gcref_ type, that behaves similarly to the existing _ref_ type just named differently. Otherwise, one system.lose call anywhere could cause a lot of surprises. IMO, the more explicit is the user's choice the better.
