sepia rgb = 
  (assertBounded' . round') (r', g', b')
  where (r, g, b) = fromIntegral' rgb
        r' = r * 0.393 + g * 0.769 + b * 0.189
        g' = r * 0.349 + g * 0.686 + b * 0.168
        b' = r * 0.272 + g * 0.534 + b * 0.131
sepia rgb = 
  (assertBounded' . round') (r', g', b')
  where (r, g, b) = fromIntegral' rgb
        r' = r * 0.393 + g * 0.769 + b * 0.189
        g' = r * 0.349 + g * 0.686 + b * 0.168
        b' = r * 0.272 + g * 0.534 + b * 0.131
sepia rgb = 
  (assertBounded' . round') (r', g', b')
  where (r, g, b) = fromIntegral' rgb
        r' = r * 0.393 + g * 0.769 + b * 0.189
        g' = r * 0.349 + g * 0.686 + b * 0.168
        b' = r * 0.272 + g * 0.534 + b * 0.131