Should we check for both? It's reasonable to expect that users might do `model.my_range = 1..2`