Coincidentally, I'm working on a minor defaultValue-related change to use a shared empty object instead of allocating one in all the places where we do `defaultValue(blah, {})`.  For now, go with the object literal and we'll adjust later once I finish.