Maybe we should make the Il2Cpp arrays into a closed type hierarchy? * Seal `Il2CppStringArray`, `Il2CppReferenceArray<T>`, and `Il2CppStructArray<T>`. * Make the base constructors inaccessible outside the runtime assembly.