I think it's better to remove the parameter's default value and then there is no need for the precondition.