I had to add a new method `Vector.withTime` to work around the error checking that throws an exception if vectors from different times are added. Also made Kotlin constants public: MINUTES_PER_DAY SECONDS_PER_DAY MILLISECONDS_PER_DAY