a function has also a kind. According to haskell report 2010 4.1.2 it is * -> * -> *, which is easy to understand. However in ghci I type :k (->). the output is ?? -> ? -> *. I want to know what do ?? and ? mean. Thanks