public bool TryGetTag <TTag>(out TTag tag) where TTag : class => tagContainer.TryGetTag(out tag);
public bool TryGetTag <TTag>([NotNullWhen(true)] out TTag tag) where TTag : class => main.TryGetTag(out tag) || fallback.TryGetTag(out tag);
public bool TryGetTag <TTag>([NotNullWhen(true)] out TTag tag) where TTag : class => extension.TryGetTag(out tag) || parent.TryGetTag(out tag);