The general rule of thumb is that required pieces of data are specified as their own parameters; optional data is put into an Options struct.  There may be some exceptions to that, but that's the general rule.  `force` is technically optionally, but it seems weird putting it into an options struct because of how it ends up getting passed.  I'm fine with what you have here in this case.