code: public boolean checkConformance(BtrPlaceTree t, List<BtrpOperand> ops) {
          //Arity error
          if (ops.size() != getParameters().length) {
              t.ignoreError("'" + pretty(ops) + "' cannot be casted to '" + getSignature() + "'");
              return false;
          }
  
          //Type checking
          for (int i = 0; i < ops.size(); i++) {
              BtrpOperand o = ops.get(i);
              ConstraintParam<?> p = params[i];
              if (o == IgnorableOperand.getInstance()) {
                  return false;
              }
              if (!p.isCompatibleWith(t, o)) {
                  t.ignoreError("'" + pretty(ops) + "' cannot be casted to '" + getSignature() + "'");
                  return false;
              }
          }
          return true;
      }
docs: Check if the provided parameters match the constraint signature
  
  @param t   the constraint token
  @param ops the constraint arguments
  @return {@code true} iff the arguments match the constraint signature