private boolean hasNonNullCheckableParametersInDefaultOrder() {
    for (ValueAttribute c : getConstructorArguments()) {
      if (c.hasConstructorParameterCustomOrder()) {
        return false;
      }
      if (!c.typeKind().isRegular() || !(c.isPrimitive() || c.isNullable())) {
        return false;
      }
    }
    return true;
  }
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