I second that. But I would also love to know why type inference and unification are so closely related. I mean, I learnt about Prolog (and thus unification) years ago. Like a decade or more later I&#x27;m learning about type systems (properly I mean, via type theory) and type inferencing and unification shows up. I kind of get that intensional typing schemes define typing relations and that logic programming is synonymous with relational programming but is that all there is to it?<p>The second thing I would like to say. And I&#x27;ve said this before. Languages like Ocaml and Haskell (never mind Agda, Coq, what have you) already have too much typing &#x27;smarts&#x27; built into them. I would like to see -- hint, I&#x27;m probably going to have to get my hands dirty! -- an implementation in either a dynamically typed language like Ruby&#x2F;Python&#x2F;Perl&#x2F;PHP&#x2F;Javascript&#x2F;… or a non-functional language like C&#x2F;C++&#x2F;Obj-C&#x2F;…<p>What think ye?