rgbToGrey :: Word8 -> Word8 -> Word8 -> Word8
rgbToGrey !r !g !b = 
  let 
    rd = fromIntegral r :: Double
    gd = fromIntegral g :: Double
    bd = fromIntegral b :: Double
  in ceiling $ 0.21 * rd + 0.71 * gd + 0.07 * bd
rgbToGrey :: Word8 -> Word8 -> Word8 -> Word8
rgbToGrey !r !g !b = 
  let 
    rd = fromIntegral r :: Double
    gd = fromIntegral g :: Double
    bd = fromIntegral b :: Double
  in ceiling $ 0.21 * rd + 0.71 * gd + 0.07 * bd
rgbToGrey !r !g !b = 
  let 
    rd = fromIntegral r :: Double
    gd = fromIntegral g :: Double
    bd = fromIntegral b :: Double
  in ceiling $ 0.21 * rd + 0.71 * gd + 0.07 * bd