Any reason to prefer `hasOwnProperty` over `if (!(initialValue in options))`?  It's probably a bit weird to have `initialValue` on a prototype, but that doesn't really seem wrong to me.