docs: def check_color(c, greyscale, which):
      """
      Checks that a colour argument is the right form.
  
      Returns the colour
      (which, if it's a bar integer, is "corrected" to a 1-tuple).
      For transparent or background options.
      """
      if c is None:
          return c
      if greyscale:
          try:
              len(c)
          except TypeError:
              c = (c,)
          if len(c) != 1:
              raise ValueError("%s for greyscale must be 1-tuple" %
                  which)
          if not isinteger(c[0]):
              raise ValueError(
                  "%s colour for greyscale must be integer" % which)
      else:
          if not (len(c) == 3 and
                  isinteger(c[0]) and
                  isinteger(c[1]) and
                  isinteger(c[2])):
              raise ValueError(
                  "%s colour must be a triple of integers" % which)
      return c