Polymorphic Functions with Set-Theoretic Types. Part 1 : Syntax, Semantics, and Evaluation