Since all types share the same sink in that case, by calling executeAndReport for each type we effectively send the events multiple times, once per type.