{-# LANGUAGE TypeFamilies         #-}
{-# LANGUAGE UndecidableInstances #-}

type family T1 a where
  T1 a = T2 Int

type family T2 a
type instance T2 Int = T3

type family T3 where
  T3 = Yo

data family Yo
data instance Yo = Heya Int

test :: T1 Bool -> Int
test b = _