Implement ceylon/ceylon-spec#869

This requires PR ceylon/ceylon-spec#908.

Also, I made some really stupid mistakes here. Want me to squash these commits into one?