Actually, having more (enlightened) people in on the language design would have been good I think.

But the library designs have been short on vision and forethought. The "old" IO library remains a mess since the addition of Readers in place of InputStreams. Why every input class doesn't have both a Reader and InputStream ctor is beyond me - but it certainly takes some digging to come up with just the right set of nestings when you're given a InputStream and you need a type of Reader or vice versa.

Javasoft sucks at design.