BTW @xaviershay I agree w/ your argument re: using stdlib, but I actually feel like this solution is better since consumers of HookCollection and Procsy objects think they are Array and Proc objects (so defining all the methods makes sense to me).