code: @Nullable
    public Type getTypeFromString(String typeStr) {
      try {
        return typeCache.get(typeStr).orNull();
      } catch (ExecutionException e) {
        return null;
      }
    }
docs: Given the binary name of a class, returns the {@link Type}.
  
  <p>If this method returns null, the compiler doesn't have access to this type, which means that
  if you are comparing other types to this for equality or the subtype relation, your result
  would always be false even if it could create the type. Thus it might be best to bail out early
  in your matcher if this method returns null on your type of interest.
  
  @param typeStr the JLS 13.1 binary name of the class, e.g. {@code "java.util.Map$Entry"}
  @return the {@link Type}, or null if it cannot be found