Prioritizing certain ligatures

I actually think that the automatic reordering is a good thing. Otherwise, rules like

sub f f     by f_f;
sub f i     by f_i;
sub f f i   by f_f_i;
sub o f f i by o_f_f_i;

look sensible and descriptive, but the last two rules would never fire as they would be blocked by the first two rules. Automatic reordering makes every rule count.

The main issue I see is that automatic reordering does not play nice with automatic lookup splitting (as demonstrated in Tool for ordering features.fea ligatures by longest first? - #10 by jkutilek).

I learned to always use explicit lookups in FEA code, that already prevents a number of issues.

I believe this is what happens when putting a single substitution into an explicit lookup containing ligature substitutions.