Move warning management to Location
Add some combinators to ease isolating effects
WARNING: Enable "Unbound value" tolerant top level
Fix wrong generation of type variables

Still hackish, not enough understanding of ocaml typer