Typeable App pattern doesn't match function types
Consider the type representation,
rep = typeRep @(Int -> Char)
We would expect this to match the pattern,
(App (App arrowRep intRep) charRep)
where
arrowRep :: TypeRep ((->) :: Type -> Type -> Type)
intRep :: TypeRep Int
charRep :: TypeRep Char
However, this is currently not the case. Fix this.