Even if it is more compact this way, I'd rather have different if statements for the version check and the `hasValueName` read so that future backward-incompatible changes will be less error-prone to add.