Re-organise code into files based on structure/interface

Removes functions for folding/iterating over slices, as those are already implemented as methods on the Slice type
Use Slice in preference to []Any