@Override
  public SelBoolean assignOps(SelOp op, SelType rhs) {
    if (op == SelOp.ASSIGN) {
      SelTypeUtil.checkTypeMatch(this.type(), rhs.type());
      this.val = ((SelBoolean) rhs).val; // direct assignment
      return this;
    }
    throw new UnsupportedOperationException(
        "boolean/Boolean DO NOT support assignment operation " + op);
  }
@Test
  public void testAssignOps() {
    SelBoolean res = one.assignOps(SelOp.ASSIGN, another);
    another.assignOps(SelOp.ASSIGN, SelBoolean.of(true));
    assertEquals("BOOLEAN: false", one.type() + ": " + one);
    assertEquals("BOOLEAN: true", another.type() + ": " + another);
  }