Polymorphic Functions with Set-Theoretic Types: Part 2: Local Type Inference and Type Reconstruction.