in reply to New threads->create() syntax

Whatever the anser to your update questions, I hope that the new create() signature is in addition to support for set/get_stack_size() ?

I don't have any complaint wrt the named param signature (in fact I'd suggest possibly providing support for priority params if possible - tho implementation of that capability is very hit-and-miss, and usually platform specific), but set_stack_size() permits existing apps to just add a single call up front, wo/ otherwise touching existing code, to benefit from smaller stack size.

As for your child/grandchild conundrum, I'd say inheritance is probably the best rule to fall back on, since its likely the desired behavior for any other attributes (e.g., priority). I suppose you'd need to differentiate between a parent thread that had explicitly set/inherited an attribute vs. using the global value, in the event the global value is modified at some point between parent and child creation.