private String printType(Element element, TypeMirror type, DeclaringType declaringType) {
    TypeStringProvider provider =
        new TypeStringProvider(
            report(),
            element,
            type,
            new ImportsTypeStringResolver(constitution.protoclass().declaringType().orNull(), declaringType),
            constitution.generics().vars(),
            null,
            style().nullableAnnotation());
    provider.process();
    return provider.returnTypeName();
  }
Means object hashcode is cached at some point. Either lazily (on first access)
or eagerly (during construction).
@see #isUseLazyhash()
@see #isUsePrehashed()
value-processor/src/org/immutables/value/processor/meta/ValueType.java