VALUE array_initialize(const CallFrame* here, VALUE self, VALUE it) { ObjectPtr<Array> array = self; if (array == NULL) { throw_exception_with_description("Array#initialize called for object that doesn't derive from Array."); } array->reserve(here->args->size()); array->insert(array->begin(), here->args->begin(), here->args->end()); return self; }