struct transition_table : mpl::vector<
Row < waiting, update, pending, send_replace, none>,
Row < pending, update, none, Defer, none>,
Row < pending, replaced, waiting, ack_replace, none>
> { };
If second transition is Defer twice in a row, is it possible to discard the first one?