Basic precision un-aware TimeShift function

* WiP but will handle some basic cases (notably those that don't cross precision boundaries)