Yeah, it needs to be fixed by freeing the allocation in the destructor function pointer as we do for ~Trait. It could just be done while migrating `proc` to being represented via a trait object.