Work on kernels

Some back-and-forth between type definitions.
Trying to make it work with random-fu and the multiparameter
typeclass. random-fu doens't have densities so perhaps we need
to go back to statistics..