ceylon/ceylon.language — comment on commit 62cee0894da4ece38cacc334dd828e3632ae78e7
File:  line 0
By quintesse:

Up to now I'm pretty sure that what happened was that the backend thinks it's equivalent to a ceylon `Character`. So it will treat it as an erased `Character`, which is `int`. And because in Java you can assign a `char` to an `int` it all works out. If it needs to be boxed `Character.instance(int)` will be used which at least gives something usable.
The problem of occurs when we need to generate an override or an interface implementation. I have no idea how Stef thinks to handle that, he hasn't explained his new idea yet :)