Every construct I know of that dash and bash both have but run differently, and the bash-only ones, each with a choice. This is the checklist you asked for under A3 on the page “Shell Large Subset”. Nothing on this page is implemented yet, except your decision R1 and the documentation part of R2 (R2's executor patch is ready, not yet applied by the posix_spawn session).

The alternatives, named by letters in every item:

The marks. No mark: the item's default (A for most items; what was decided earlier for K1–K3; A5 for N1–N5; E for G12). Go: the alternative the title recommends (where a title names only a default, Go keeps it). No-go: what the item's “If No-go” line says. To choose any other alternative, write its letter in the item's note. Costs are my estimates of the lines added to parser and executor together.

Words. Both shells: dash 0.5.12 and bash --posix 5.2.21, as installed on this machine; every example was run in both on 2026-11-02, from an empty directory. Measured: how many corpus samples (one-liners from tldr and NL2Bash; scripts from ShellCheck's tests, the bash Cookbook, pure-sh-bible and pure-bash-bible) use the construct. Large spec: claude/large-subset-spec.md. Base spec: claude/shell-subset-spec.md, which has the older rule names (V1, D3, D4, B2, P5, …). Item IDs on this page are R, G, K, N and H with a number.