code: private function loadType($typeName)
      {
          $typeLoader = $this->config->typeLoader;
  
          if (! $typeLoader) {
              return $this->defaultTypeLoader($typeName);
          }
  
          $type = $typeLoader($typeName);
  
          if (! $type instanceof Type) {
              throw new InvariantViolation(
                  sprintf(
                      'Type loader is expected to return valid type "%s", but it returned %s',
                      $typeName,
                      Utils::printSafe($type)
                  )
              );
          }
          if ($type->name !== $typeName) {
              throw new InvariantViolation(
                  sprintf('Type loader is expected to return type "%s", but it returned "%s"', $typeName, $type->name)
              );
          }
  
          return $type;
      }
docs: @param string $typeName
  
  @return Type