code: private static void checkNoLiteralVariableUsageAcrossTypes(Signature declaredSignature)
      {
          Map<String, TypeSignature> existingUsages = new HashMap<>();
          for (TypeSignature parameter : declaredSignature.getArgumentTypes()) {
              checkNoLiteralVariableUsageAcrossTypes(parameter, existingUsages);
          }
      }
docs: Example of not allowed literal variable usages across typeSignatures:
  <p><ul>
  <li>x used in different base types: char(x) and varchar(x)
  <li>x used in different positions of the same base type: decimal(x,y) and decimal(z,x)
  <li>p used in combination with different literals, types, or literal variables: decimal(p,s1) and decimal(p,s2)
  </ul>