cabal: use less than rather than <= and fix off-by ones