Is the assumption here that specific constraints will implement their own `project!` function?