Docs and rearrange time header to get the docs outside of the ifdefs.
split off from !1300 (merged) because I'm not sure the right approach for this part yet.
Builds on !1300 (merged) and !1303 (merged)
split off from !1300 (merged) because I'm not sure the right approach for this part yet.
Builds on !1300 (merged) and !1303 (merged)