docs: public <T1, T2> void op(BinaryOp op, Local<T1> target, Local<T1> a, Local<T2> b) {
          Rop rop = op.rop(StdTypeList.make(a.type.ropType, b.type.ropType));
          RegisterSpecList sources = RegisterSpecList.make(a.spec(), b.spec());
  
          if (rop.getBranchingness() == BRANCH_NONE) {
              addInstruction(new PlainInsn(rop, sourcePosition, target.spec(), sources));
          } else {
              addInstruction(new ThrowingInsn(rop, sourcePosition, sources, catches));
              moveResult(target, true);
          }
      }