only allow assignment between two values of the same type
allow assignment of fusion sequences to scalar for tieable functions, but not for complex