Ah, `breakdown = _.defaults(breakdown, groups, defaults);` doesn't quite work, as `_.defaults` won't overwrite an `NaN`, but I'll reorganize a bit if I can. I see your point about cleanliness.