Moved complex-constraints to multiple files in a subdir. Moved extra-constructors to a more appropriate place