Indeed, 101 is broken up into an almost ridiculous number of tiny pieces -- the implementation of the and function is about as big as the necessary require statement. I think or() and and() (for instance) could be in the same file.
Is it worth fine-graining libraries to the point where you're doubling the code required for almost every call?