commit before enabling the (optional) optimize
optimize can now save rerunnign all the validation steps
the time between spi_async and spi_master.transfer is as follows:
without: 8.5 us
with:    1.6 us

this is minor compared to the time spend generating the DMA control blocks
for a 5 Transfer SPI message (with cs_change) which takes 31 us.
but that is the next step...