Avoid forward_as_tuple for comparing EAXVECTORs
Some compilers don't seem to be able to optimize this properly, amd will put a
list of addresses on the stack for each member of both operands, then load the
value from each address individually to compare. It doesn't seem to realize
what it's comparing to do it directly, creating a bloated. less efficient
comparison that the compiler will give up on trying to inline.
This at least prevents the inline failure warning, but the individual EAX
effect structs still use it. C++20 should allow creating default comparison
operators by auto-generating member-wise comparisons, so unless it's a
performance bottleneck, it can be fixed later.