The five parts are: - Support code and high-level entry points - Constraint generation - Constraint solving - Constraint application - Diagnostics No functionality change. Swift SVN r4447