1    type ImageFormat =
2        | Grayscale
3        | Rgb
4        | Rgba
5    
6        def to_bpp : u32 = case self of
7            ImageFormat/Grayscale -> 8
8            ImageFormat/Rgb -> 24
9            ImageFormat/Rgba -> 32
10   
11   object ImageFormat =
12       def from_bpp (bpp : u32) = case bpp of
13           8 -> ImageFormat/Grayscale
14           24 -> ImageFormat/Rgb
15           32 -> ImageFormat/Rgba
16           else -> fail
17