range: support integral ranges with basic tests