The range check would be "`5` is less than `a` and `a` is less than `30`". Meaning that `a` is between 5 and 30.
It's fixed now. Thanks martin-adams!