               do { sequence (map (inferK2 env star) ts)
                  ; unifyKind hint star
                  ; return star
                  }
            (HsTyApp f x) ->
               do { a <- newVarK Sort
                  ; inferK2 env (S(Kfun a hint)) f
                  ; inferK2 env a x
                  ; return hint
                  }
            (HsTyVar nm) ->