You can see this pattern in place in the libbitcoin network/server/node code. Critical sections are offset by obvious comment sections, and all but one provide this visual guarantee. The one that doesn't (in bc::system) is the source of deadlocks that we sometimes experience. I'll be resolving that shortly.
(edited)