I think the code is better how it is because the second parameter of the function you gave as example in the issue has to be a valid string. In the current form, it indicates there is a problem with the parameter, rather than having it silently not doing anything when it was expected to be a change of the value. As commented in the issue, use sr-users mailing list if you want to discuss further.