Hi,
There's something appealing in the form you suggest - also something familiar. I haven't learned enough about F# yet to comment on the practicality of using this for more complicated scenarios (as the other response has).
The familiar bit, relates to a language I was fond of called Forth (semi-compiled, trans-level, iterative, stack-based language, that sort of died on the vine in the 1990's). As Forth built program/solutions though a vocabulary of words defined by iterating combinations of previously defined (more primitive), words, the structure you suggest would look something like:
Step4:
Step1
Step2
Step3 ;
with the sub-steps mentioned in the other reply as:
Step1:
Step1a
Step1b
Step1c ;
Of course, Step1a, etc..., would be defined before Step1 - but it would be fine to use the more abstract definition of Step1 to get the thing worked out conceptually; then go back and define the lower level words the high level word requires.
The closer F# code could come to Forths' structure, the more I'd like it - but mine is not the typical programmer/developer mindset.
Thanks for posting your idea,
BRN..