utils: add Proc#defer