functor (G : GM) ->
  sig exception NoColoring val coloring : Coloring.G.t -> int -> unit end