Dataset data structures

@markhibberd did you want me to change this now to `Prioritized[A]` or open an issue?