Corrected errors, documented code, refactored
Slight refactoring, began documentation
Can now trivially interchange Arrangement and CyclicArrangement types by altering type signitures. I wonder how I can push that to runtime...?