Given 

```jsx
const StyleDiv = forwardRef(function Component({ children }, ref) {
  return <div ref={ref}>{children}</div>;
});

StyleDiv.displayName = `styled(connected(div))`;
```

-- https://codesandbox.io/s/little-sky-y8h1b?file=/src/App.js

I would expect that the badges from the display name are prioritized in the component tree.
However, devtools currently displays the `ForwardRef` badge first:

> `div ForwardRef +2`
![Screenshot from 2021-07-22 11-44-32](https://user-images.githubusercontent.com/12292047/126619858-20b3747b-8723-4306-b5b0-13457d8f45e2.png)

Oddly enough, the inline devtools in codesandbox do prioritize the badge from the `displayName` (maybe this regressed?):

> `div styled +2` ![Screenshot from 2021-07-22 11-45-27](https://user-images.githubusercontent.com/12292047/126620032-bda9ef1a-ab26-4df3-a10c-e0e8c5cfc3d3.png)


There's also an argument to be made that devtools should not display the `ForwardRef` badge to begin with (since we explicitly omitted it in `displayName`). That can be discussed separately but would solve the issue entirely.
current = Object.getPrototypeOf(current);
  }
  return keys;
}
export function getDisplayName(
  type: Function,
  fallbackName: string = 'Anonymous',
): string {
  const nameFromCache = cachedDisplayNames.get(type);
  if (nameFromCache != null) {
    return nameFromCache;
  }
  let displayName = fallbackName;
   The displayName property is not guaranteed to be a string.
   It's only safe to use for our purposes if it's a string.
   github.comfacebookreact-devtoolsissues803
  if (typeof type.displayName === 'string') {
    displayName = type.displayName;
  } else if (typeof type.name === 'string' && type.name !== '') {
    displayName = type.name;
  }
  cachedDisplayNames.set(type, displayName);
  return displayName;
}
let uidCounter: number = 0;
export function getUID(): number {
  return ++uidCounter;
}
export function utfDecodeString(array: Array<number>): string {