I recently had the pleasure of fixing a number of broken SpecFlow tests and in the process was introduced a world where steps call steps which go on to call steps themselves... hang on 1 sec...
Ok, so it was fascinating at first, a four line gherkin script producing multiple pages of steps in the output... my fascination ended very quickly as the test wasn't working and I was tasked with making it work.
Luckily I've been around the block a few times and can spot dangerous rabbit holes and legacy beyond repair so with enough acceptance criteria in my arsenal, I wrote a new set of tests and damned the old crap into the abyss.
So the morale of this tale is:
Just because you can do something does NOT mean you should!
Next time you find yourselves writing steps that call steps that call steps etc., think to yourself... do I really want to write terrible code today?
What seems like a shortcut at the time will bite someone back in the future... don't make other peoples jobs suck and maybe they will do the same for you.