<tank> < heal> <melee1>...<melee4> <range1>...<range4> <caster1>...<caster4> would be great, and it would be nice if we could just
/synthesize(/synth) "Recipe Name" [assuming current class]
so we wouldn't have to search for recipes when we know the item we want to craft
Everything else in your list is purposely excluded from the macro system because the devs don't want you writing automation scripts. That won't change. Conditional and loop constructs will never come because they're just too powerful.