> Why, you'd get an NPE, of course! While ArrayList<int> would be a List<Integer>, it will *not* be an ArrayList<Integer>. That sounds incredibly asymmetric. What's the rule behind "it implements X, but not Y"? What about the second, more interesting case I mentioned?