THEN(
a,b,c,
WHEN(d, SWITCH(e).to(f,g)),
chain2
);
THEN(b, SWITCH(j).to(a, chain3));
WHEN(g, f, h);
THEN(WHEN(f, g, i), WHEN(h));
THEN(WHEN(f, g, i).ignoreError(true), WHEN(h));
THEN(a, b, c, WHEN(d, i, g, i, h).ignoreError(true));
THEN(a, b, c, WHEN(d, i, g, i, h));
THEN(a, b, c, WHEN(d, i), WHEN(g, i, h).ignoreError(true));
THEN(a, b, c, WHEN(d, i).ignoreError(true), WHEN(g, i, h));
THEN(WHEN(d, g, h).any(true), THEN(a, b, c));