Bonus if you can use Subspace-BB (Barzilai-Borwein) on what is left after activating your constraints.
That stuff is magical. Also because you can throw it at linear systems that are actually FFT-based time/space variant convolutions or similar things where you never, ever want so much as touch the sparse matrix of that linear system.