Make the strip monad return objects in the IO monad.
Rename sample to sampler AND strip to sample.
Make distribution objects into actions in the sampler monad.
Fix generation of random gammas.
Add bernoulli and binomial distributions.
Change argument order for binomial density.
Write builtins for sampling binomial, bernoulli, geometric, and poisson.
Sample binomial.
Add missing functions sample_geometric and sample_binomial.
use sample_geometric and define builtin_sample_geometric.
Move builtin_sample_* functions near their densities.
Implement sample_bernoulli, and make bernoulli return an integer.
Add poisson_pdf( ) and bernoulli_pdf( ).
Add poisson distribution.
Implement sample_dirichlet through the sample monad!