Good point and that's pretty slick but it may not help with the "pretty complicated" issue :-). Factoring out the resolve function makes it a little more obvious that we're just return the first MaterialStateProperty that resolves to null. So:

[TRIPLE QUOTE].
That's pretty close to what you had, whichever way you find more readable is OK with me.