sig
  type t =
      Undefined
    | No
    | ModulusAdd
    | Atop
    | Blend
    | Bumpmap
    | ChangeMask
    | Clear
    | ColorBurn
    | ColorDodge
    | Colorize
    | CopyBlack
    | CopyBlue
    | Copy
    | CopyCyan
    | CopyGreen
    | CopyMagenta
    | CopyRed
    | CopyYellow
    | Darken
    | DstAtop
    | Dst
    | DstIn
    | DstOut
    | DstOver
    | Difference
    | Displace
    | Dissolve
    | Exclusion
    | HardLight
    | Hue
    | In
    | Lighten
    | LinearLight
    | Luminize
    | MinusDst
    | Modulate
    | Multiply
    | Out
    | Over
    | Overlay
    | Plus
    | Replace
    | Saturate
    | Screen
    | SoftLight
    | SrcAtop
    | Src
    | SrcIn
    | SrcOut
    | SrcOver
    | ModulusSubtract
    | Threshold
    | Xor
    | DivideDst
    | Distort
    | Blur
    | PegtopLight
    | VividLight
    | PinLight
    | LinearDodge
    | LinearBurn
    | Mathematics
    | DivideSrc
    | MinusSrc
    | DarkenIntensity
    | LightenIntensity
    | HardMix
    | Stereo
  val of_string : string -> Magick.CompositeOp.t
  val to_string : Magick.CompositeOp.t -> string
end