Just a thought - if the If Activity also could accept an Activity whose resulting value was always a Boolean, for example Element Exists or a returned Out Argument from Invoke Code, it would provide a simplified pattern for creating control structure conditions.
As it is now, there is a two step process of calling the Boolean-returning activity, assigning the returned value to a variable, and then using that variable or some other statement resulting in a Boolean value in your If Activity.
With this, we could just drop the Activity in the If Conditional in a box that accepts an activity. I think it would be cleaner and just a neat little bit of Quality of Life for a developer. Less temporary variables to track and all.
I’ve used boolean-resulting Activities used in Retry Scope, so I can see the technology for using an activity to return value to another activity is there. Can it be applied in this way too?