Add support for SelectOrAntiSemiApply

Also some cleanup