What happens if I ask the supertypes of StringOption2? i.e.,

```
trait Option[X]
class StringOption1 extends Option[String]
class |StringOption2 extends StringOption1
```

Do we get ``StringOption1, Option[String]`` or ``StringOption1, Option[X]``.

Make sure to add a test for this.