Why? Can someone explain the reason for this legislature? I'd like to understand why one type can't be converted to another type inside a constant expression.

What on earth???