Yes for `sylius_shipping_item`, don't know how this `unit` fell here.
Regarding the check, this is indeed something we need to decide. But anyway, this particular listener will be so useless thanks to some events on transition!

Btw, side question, is this `ShippingItem::getState` usefull? I see it just reflects the parent shipment state... The only state that could differ between Shipment and one of its ShipmentItem is `returned`. But is it something we want to track in the `ShippingState`? It is already tracked in the `InventoryUnitState` and this seems more logical there. I'd like to delete it =)