It should be just as easy to constrain a step out of a step, I think. In any case, I would not take easier constraints work or lack of tool sophistication as a valid argument for cleaning up some conceptual issues in the standard.
My 2 cents, or 4, if you count the previous ones as well :-)
I like the idea in theory, and have indeed come up against some of the issues Robert listed as counterarguments — the difficulty with conrefs and with moving steps around in a hierarchy.
However, one benefit of substeps is that it is easier to constrain them out if you only allow one level of steps. I’ve done this in the past, and I would suspect that others have too. Would turning off nesting altogether count as a valid DITA
constraint? I recall that there is some trickery with another attribute to allow or disallow task nesting in DTDs — would the same be needed on steps if they were defined as nestable in the standard? (DTDs are still important in practice, I feel, as few tools
have moved to RELAX NG.)
I will put this on the agenda for next Monday's meeting of the Technical Communications Subcommittee.