Sketched out a generic way to doing the most common shape.
Had to add a time arg to all the commands, since most of them will need it.
Switched to `System.IO.Strict` for the file reading.