Use GADT for better Topic typing.