I think that's fine. Just use something other than `nil` as the default value to indicate no argument was passed. (Either a symbol, or a dedicated `Object.new` stored in a constant... or maybe even `false`.)

My concern is that if you accidentally pass `some_new_object.id`, we'll do something very different to what you intended. (Instead of safely raising an error, as we would previously.)