Reduce dataset interface back to #each