It doesn't look like thenIO is used or exported, which makes me think someone either forgot about it or there's some good reason that isn't documented. Obviously if things go as planned, the const gets reduced away at compile time, but it seems like if we have thenIO sitting there in the source we might as well use it and not have to worry about compile-time eta-reduction of (\_ -> k).