// we need this "simplified" register (without waiting for the result) to resolve legal, infinite loops // consider type Unit, in order to create it we need to create "unit" instance of type Unit, but this would mean // waiting for created type "Unit" but we are building it already, so we would wait forever // that is why during creation of static "unit" field, we register type "Unit" but we don't wait for the outcome internal async Task RegisterAddAsync(ExecutionContext ctx, EntityInstance typeInstance) { await registerAsync(ctx, typeInstance).ConfigureAwait(false); }