In #Java, I can cast int to long, long to Long, but not int to Long. Casting to a wider representation ought to be transitive, surely?