@jjanvier for what we need this `array_walk`? We never used this in any part of code, i.e. look at states for [shipments](https://github.com/Sylius/Sylius/blob/master/src/Sylius/Bundle/ShippingBundle/Form/Type/ShipmentType.php#L56-L64), [payments](https://github.com/Sylius/Sylius/blob/master/src/Sylius/Bundle/PaymentsBundle/Form/Type/PaymentType.php#L66-L76), and many other stuff.

TBH. I would delete also the `Model\Zone::getTypeChoices()` as it's totally useless, and that approach is not used in Sylius anywere else.