Nice just popped into Debian. I know close to nothing about, but it looks like they took Java and did all the sorts of things I've been ranting about!
...This means that programs written in Nice never throw the infamous NullPointerException nor ClassCastException.
And it still is Java, so you can use Java libraries from it.
... The clone example might be more familiar to Java users. In Java, the clone method, defined in class Object, has a Object return type. In fact, one would like to express that the clone method returns an object of the same type as its argument. This is possible in Nice, and it allows for cast-less use of clone.