8 | ||| Interface for sampling from a distribution
9 | ||| Sampling is a costate/server for distributions
10 | ||| We require that there is at least one element in the distribution
11 | ||| We also require that we can fold over the elements, i.e. that positions
12 | ||| are finite and have an order
13 | ||| TODO add temperature as a implicit parameter with a default value of 1.0