title: what is OCaml's "ground coercion"?
body: <p>OCaml sometimes gives a warning "this ground coercion is not principal".  I think I understand the "not principal" part (the type inference gives at least two possible types, neither of which is a subtype of the other), but I don't know what the "ground coercion" is.</p>
  
  <p>I suspect the answer must involve some amount of abstract type theory, but I would much appreciate concrete examples also.</p>