**Do you want to request a *feature* or report a *bug*?**

Bug

**What is the current behavior?**

Consider the following code:

```js
const forwardRefComponentLike = function forwardRefComponentLike(_props, _ref) {
  return <span>FowardRef</span>;
};

const FowardRefComponent = React.forwardRef(forwardRefComponentLike, {});

const MemoOfFowardRefComponent = React.memo(FowardRefComponent);
```

The `MemoOfFowardRefComponent` component does not pick up the name of the ForwardRefComponent and is instead rendered in devtools as:

```
 Anonymous [Memo]
    forwardRefComponentLike [ForwardRef]
```

<img width="262" alt="Screen Shot 2019-09-09 at 10 45 02 PM" src="https://user-images.githubusercontent.com/227292/64587241-81816d00-d353-11e9-8f20-873aa00f5076.png">

See this codesandbox for a demo and a comparison of how React.memo handles regular functional components: https://codesandbox.io/s/react-forwardref-and-memo-combo-33vx7

**What is the expected behavior?**

I would expect this to pick up the name of the thing passed into React.Memo, as happens for regular components

```
forwardRefComponentLike [Memo]
```

**Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?**

Tested with React 16.9.0.
}
    rootPseudoKeys.delete(id);
  }
  function getDisplayNameForRoot(fiber: Fiber): string {
    let preferredDisplayName = null;
    let fallbackDisplayName = null;
    let child = fiber.child;
     G
     w
    for (let i = 0; i < 3; i++) {
      if (child === null) {
        break;
      }
      const displayName = getDisplayNameForFiber(child);
      if (displayName !== null) {
         P
         W
        if (typeof child.type === 'function') {
           T
           t
          preferredDisplayName = displayName;
        } else if (fallbackDisplayName === null) {
          fallbackDisplayName = displayName;
        }
      }
      if (preferredDisplayName !== null) {
        break;
      }
      child = child.child;
    }