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)
arrowRep :: TypeRep ((->) :: Type -> Type -> Type) intRep :: TypeRep Int charRep :: TypeRep Char
However, this is currently not the case. Fix this.