Just a spur of the moment idea, which may already exist in the JDK: just as Array.newInstance returns an Object, the other methods to set/toString/check equals etc. of an array should exist as Object signature so one doesn't have to perform all the type checks on one's own.