~ Minor, val inlined
OptimizationBasicInterpreter: merging primitives

If merging primitives of different types (e.g. I and Z)
return the first one instead of MIXED_VALUE type
because MIXED_VALUE only should work for objects
~ fix + added test for merging primitives
~ another merge refinement