+ countForbidden positions =
+ length $ filter (\p -> p `notElem` occupied)
+ $ filter (getRegion coverage) positions
+
+part2 sensors coverage = x * 4000000 + y
+ where boundaries = fmap (filter (inRange searchRange))
+ $ fmap justOutside sensors
+ holes = fmap (filter (not . (getRegion coverage))) boundaries
+ `using` (parList rseq)
+ V2 x y = head $ concat holes