In comments, moved the sink fragment after the imperative fragment.
In comments, added a design for comparable tokens and some new cases to (sink).