One last related note:
Even though we execute once and are interested in Option 1
only, both functions will run. If you do not police yourself and add non-local setters inside pure functions (BPs let you do it), the values will change since the functions run.
Rather than just Branching to False:
This will run all 3 expensive functions and then Branch to False