#1 get rid of primitives - unboxing where possible should be a compiler problem. Number types would behave like strings, so would have operators like + and - minus defined. I could therefore do this :
Integer five = 5;
Integer ten = 5 * 2; //Equivalent to five.multiplyBy(2);
Would mean methods like the 4 Math.abs methods could be reduced to one.
#2 I would have standard date class(es) that are much better like the pig’s ear that is Date and Calendar.
#3 I would have a way of removing boilerplate code - bound properties, closing resources that throw checked exceptions etc… The proposals for closures seem to promise this but I’m undecided as yet.
D.