1 function per file. Sooo much documentation. Changed without_top to not accept an n parameter for consistency. Changed all without_* methods to throw an error on empty structures for consistency.