breaking but needed change. refactored state.jl so that states are parameterized by label type and TensorStates are stored much more compactly