Trying to expand either type or create a third, similar type is difficult because these types are implemented separately. Implementing them with a common ancestor will make it easier to extend them in the future to support more use cases.
<rdar://problem/109853785>
Pull request: https://github.com/WebKit/WebKit/pull/14369