refs: make peel_ref() virtual