Re-enable Values and cgen/seq, and fix contracts on substitute.

After longer testing confirmed that this was just to strict contracts on
substitute.