should support recursive mlhs decomposition, e.g. (a,b),c = [1,2],3