This is unfortunately not something we can support, because of the way that operator overloading works.
Here's what happens in detail. First of all, Maple's parser parses B - A as B + (-A). Then the Units:-Simple package's minus operator is evaluated on the result of evaluating A, that is, 1, 2, 3. Here we run into the first problem: we can't distinguish this call from a user calling `-`(1, 2, 3): we get the same argument sequence, there is no difference between the two. For the top level minus operator, this last call would be interpreted as 1 - 2 - 3, which evaluates to -4. So Units:-Simple's minus operator returns the same.
Now the plus operator gets called, with as its arguments the results of evaluating B and the earlier result that came out of the minus operator. B evaluates to 4, 5, 6, and the minus operator evaluated to -4. It is the nature of expression sequences in Maple that they automatically concatenate into a single, flat, expression sequence, so the kernel now passes this as the argument sequence 4, 5, 6, -4 to the plus operator. Again, we cannot distinguish this from a user calling `+`(4, 5, 6, -4). As the top level plus operator would return 4 + 5 + 6 + (-4) = 11 from that, so does the Units:-Simple package's plus operator.
Generally, arithmetic with expression sequences in Maple is extremely fragile. It is impossible for any overloaded package to replicate the top level operators exactly, and I don't believe there are documented rules for how the top level operators interpret expression sequences. Moreover, replacing the operator form with the functional form (that is, replacing something like A + B with something like `+`(A, B)) must also fail, because the expression sequence A, B immediately loses the information of where the split between the two was. This is the same issue we saw above: packages can really only provide the functional form of these operators.
I would strongly recommend against using expression sequences for arithmetic. Using lists or Vectors is much more reliable.
Erik Postma (he/him)
Manager, mathematical software group