Buypass %m+% in `time_length` and resolve conceptual issues in #288
Internal %m++% and %m--%
Base `time_length` on %m++%
Vectorize time_length and add more tests