And another thing you might not have thought of a function being abstract but at one point someone might do a is a :-)
Anyway, it seems to me that you had already decided that it was bad form (sorry, I mean unneeded noise) to add the same structure in a local subroutine, so it's obviously your choice :)
When building an abstract function, I'll make use of the standard pattern subroutine structure:
+++Define Field: FIELDS/+Subroutine
Edit Point Start mySubroutine
If Field: FIELDS/Subroutine
Edit Point End mySubroutine
+++Undefine Field: FIELDS/+Subroutine
Question: Does anybody use the same structure for subroutines in implemented (non-abstract) functions?
I don't see any benefit to doing so, seems to just add noise to the AD.