the rand* function are examples for a typical state usage, arent' they? Is there any reasoon why they are not defined RandomGen g => State g a rather than RandomGen g => (a,a) -> g -> (a,g) ? Marc