<whitequark[cis]> "for example nothing in Wishbone..." <- i think that amaranth-soc primitives should:
- end the transaction if either `rty`, `err` or `ack` are asserted (as an initiator)
- pick a behavior based on precedence: `err`>`rty`>`ack` (as an initiator)
- never assert `err`, `rty` or `ack` together (as a target)