fix off-by-one in optimised comprehensions over static integral ranges
treat ranges as complex expressions
fixes #234: `value` may be omitted in for-in loops