Latest: http://is.gd/gSwDv
After some discussion on the runtime list, it was decided that core.time and std.datetime should share their Duration type, so I created time.d as a prospective core.time and moved or copied datetime's Duration and any other types or functions that it needed to time.d and made it so that datetime publically imports time. So, if accepted, time would become core.time, and datetime would become std.datetime. Also, since invariants can now be marked pure, I marked some of the invariants pure and increased the number of functions marked as pure. Unfortunately, due to the fact that many Phobos functions still aren't pure (to!() and format() in particular), as well as bug #5191, many functions that should be pure, aren't. But we're closer. Also, bug #4867 continues to prevent SysTime from being able to be immutable, and a couple of bugs regarding invariants and templates make it so that a number of functions that should return ref this, can't. In any case, essentially this update is to propose a core.time implementation and have my proposed std.datetime use it. - Jonathan M Davis