Currently, the BindVar function does not take Var type into account. This causes two same graph structures with different var shapes to have same hash. Structural hash is used for keeping track of which operators we have already compiled. Because of this, two operators with different shapes end up pointing to same compiled code. The failure is encountered at runtime, where the expected input shape asserts are not met.