Abbreviation clean-up, add TODOs, tests

The clean-up part is just replacing List<Expression> by Collection<Expression>
as the accumulator type for expanded abbreviation conditions.