the values.child() call would also do a bounds check, but only to rise a error::Invalid "index out of bounds". So now we generate a clear message to indicate that actually a runtime-checked type mismatch caused this problem