Not sure I'm comfortable with this being the core functionality.

If the whole point is to turn periods of time into words then this isn't a correct representation as we don't have less-than-second values.

Perhaps as a module that you can include? Sure.