Currently, the type is determined by the type of the first element and the rest are implicitly cast to it.I propose changing it to being the type produced by applying the ?: logic repeatedly to all the elements.
Given how numeric literals currently work: vote-- for example currently: float[] = [1.0f, 2.5, 5.6, 0.8].dup; under the proposal float[] = [1.0f, 2.5f, 5.6f, 0.8f].dup;