Add OptionValue promotion rule.

This definitely shouldn't be in here. All of this was originally written against a 2-2 branch so this is just a remnant of the rebase against master. I'll pull it out.