code: private void considerType(TermFloatValue term) {
          
          TermNumeric.Unit unit = term.getUnit();
          if (utype == Type.none) { //only a number
              if (unit != null && unit.getType() != Type.none) {
                  utype = unit.getType();
              } else if (term instanceof TermPercent) {
                  utype = Type.length; //percentages have no unit
              } else if (term instanceof TermNumber) {
                  isint = false; //not an integer
              }
          } else { //some type already assigned, check for mismatches
              if (unit != null && unit.getType() != Type.none) {
                  if (unit.getType() != utype)
                      valid = false;
              }
          }
      }
docs: isLength, isFrequency, isAngle, isTime, isNumber, isInteger