Don't require VData.subst to be same as EData.subst

Everything goes via G.Param for substitution, so VData does not need to
know about EData and vice versa.  The graph Param ties everything
together in whatever way makes sense.