use new Cast classes; fix mutability of OptionValue