Hmmm. I didn't think about negative `Duration`s. Good catch. At the moment, it looks like none of the values end up being negative. I think that I'd favor making them _all_ negative on the theory that that way if you added them all together again (with appropriate calls to `convert` of course), then you'd end up with the correct hnsecs again, whereas if you made only one of them negative, then it would be subtracted from the rest when you added them back up again. It does need to be specified and tested however.