added handling of exhausted cases in forall