How else would you use module level optimization though? I use microinverters because I only have roof space on a city lot, and low quality (highly obstructed) at that.
If you need it, the alternative is optimizers. That is no better. You have vendor locked in SolarEdge, then not amazingly documented TIGO, then SolArk which is brand new.
There are somewhat more people experimenting with microinverters on the forum than optimizers. Maybe all the Tigo optimizer people get it to work then disappear.
*I* wouldn't mix it in a new build. Opinions are like *ssholes
so take it with a grain of salt. I think the benefit of this seriously mixed approach is far outweighed by the complexity and expense. That being said, if I took a micro-inverter approach, I would be all in on that approach, All the way down to the enphase battery setup. I don't think micro-inverters lend themselves well to a cafeteria plan solar setup.
Then again, if I wanted battery storage, I wouldn't run the microinverters at all. I think you can arrange your panels in strings to take advantage of a less expensive AIO, or even a multi-mppt & DC inverter only, without sacrificing any production at all. Anecdotely, I've covered some of my newer panels with cardboard, partially and completely. I saw a corresponding drop in output that was pretty much in line with expectations, I've not seen anyone raving about either optimizers or micro-inverters on how they boosted production, in low light and shading scenario's. Mostly it's I spent a ton of $$ and it seems to help, maybe, which is probably related to the third line above.
I'd put the extra effort and expense in to optimizing my panel placement and strings, maybe get an extra panel or two, if you can figure out where to stuff it. To that end, I've been shuffling and moving around a couple of strings in my back yard. I'm finally gettting around to putting up a couple of block structures to use as storage and to mount my arrays, based on my production findings. If you spend some effort and extend multiple string connections to where the panels are, then maybe shuffle the topology around and optimize it that way, you can probably get a good handle on what works best.