Reverse assertion order

As discussed #136 , this reverse the assertion order.

This makes the implementation a bit harder, however I'm not sure to understand which use case it solves compare to the other order. To me the result will be always the same. Can you outline a case where this lead to different result?