inferred type in bounds check cleanup: accept that inference result is not within its bounds and give the inference the second chance