Added the general case, `catchN`