Currently, calling AlchemiscaleClient.get_network_results or AlchemiscaleClient.get_transformation_results gives either aggregated ProtocolResults for each Transformation, or with return_protocoldagresults=True the individual ProtocolDAGResults associated with that Transformation. Although from the latter it is possible to get individual ProtocolResults for each ProtocolDAGResult manually with Transformation.gather called on each one, users have expressed a desire for a convenient way to get this.
We propose changing the keyword argument return_protocoldagresults to return_as, taking as options 'ProtocolResult' (default), 'ProtocolResults', or 'ProtocolDAGResults'. Use of 'ProtocolResults' would give a single ProtocolResult per ProtocolDAGResult, allowing users to get estimates from individual runs and combining them as they wish statistically downstream.