Вопрос не в том, как исправить эту ситуацию. Вопрос в другом. Данное преобразование происходит с потерей информации. Значит, делать его неявным опасно. Из здравого смысла безопасно и допустимо делать неявными только те преобразования, которые тривиальны (расширение области определения, т.е. вложение байта в слово, к примеру). А любые нетривиальные вещи, в т.ч. теряющие информацию, нужно делать явными. В КП они сделаны неявными, это я расцениваю как фактор, снижающий надёжность языка. Если надёжность была целью проектирования, то это ошибка проектирования. И, в общем-то, любой независимый эксперт скорее всего тоже будет так считать. Но в данном сообществе своя правда, каковую мы и наблюдаем в комментариях по этому вопросу.