A simple answer is to add some lexicalized method for enforcing target restrictions to CCG, specifically on the application rules.
note that the category X 1 is taken from the lexicon, while every other category is derived by combining the preceding category on the path with some secondary input category (not on the path) by means of some combinatory rule.