The spec doesn't handle cases like new CSSUnparsedValue(['env(0)']), and more generally cases which violate the argument grammar of substitution functions. It should probably also handle violations of <declaration-value>.
Same for the indexed setter.