System :: M a -> Algo -> Scene -> IO a
runMSystem ma a s = do
    gen <- createSystemRandom
    runReaderT ma (MRead a s gen)

-- | Given the number of samples per pixel, and the image resolution,
-- return a set of sample coordinates, on the image plane.
typ
runMSystem :: M a -> Algo -> Scene -> IO a
runMSystem ma a s = do
    gen <- createSystemRandom
    runReaderT ma (MRead a s gen)

-- | Given the number of samples per pixel, and the image resolution,
-- return a set of sample coordinates, on the image plane.
runMSystem ma a s = do
    gen <- createSystemRandom
    runReaderT ma (MRead a s gen)

-- | Given the number of samples per pixel, and the image resolution,
-- return a set of sample coordinates, on the image plane.