Further theory optimisation to avoid calling datapoint methods for multi-valued datapoints