More work on pigeonhole_principle