anchor.diff:  your desired label with the optional keyword argument
   `:function-label`.
   
  +==== Dimmer Channels
  +
  +http://deepsymmetry.org/afterglow/doc/afterglow.channels.html#var-dimmer[afterglow.channels/dimmer]
  +returns a specification for a channel that controls the dimmer of a
  +fixture or head. It always takes at least one argument, the channel
  +`offset` (as described <<channel-offset,above>>). If the fixture uses
  +two-byte values for more precise dimmer control, pass the offset of
  +the channel that controls the most-significant byte as the `offset`
  +argument, and pass the offset of the channel that controls the
  +least-significant-byte as the second argument, `fine-offset`.
  +
  +==== Generic Channels
  +
  +If none of the above functions match the channel you are creating, you
  +can use
  +http://deepsymmetry.org/afterglow/doc/afterglow.channels.html#var-fine-channel[afterglow.channels/fine-channel]
  +to create the definition.
  +
  +It always takes at least two arguments: `chan-type`, a keyword
  +identfying the type of the channel (please see the list of
  +<<standard-function-types,standard function types>> below and try to
  +reuse one if it is appropriate, or at least create your keyword in a
  +way that follows their conventions), and the channel `offset` (as
  +described <<channel-offset,above>>).
  +
  +If the channel uses two-byte values for more precise control, use the
  +most-significant-byte as the `offset` value, and pass the offset of
  +least-significant byte using the optional keyword argument
  +`:fine-offset`.
  +
  +If for some reason the channel's function type should differ from the
  +value you gave for `chan-type`, you can pass a different keyword to
  +use when creating the function range, using the optional keyword
  +argument `:function-type`.
  +
  +If you want to use a variable label which differs from the name of the
  +channel's function type keyword in the user interface when
  +<<mapping_sync#effect-control,adjusting>>
  +<<cues#creating-function-cues,Function Cues>> (for example, if the
  +keyword is hyphenated, and you want the label to use a space), specify
  +your desired label with the optional keyword argument
  +`:var-label`.
  +
   TODO: Finish this page.
   
   * Explain how to create function specifications in all their variations,
   with range helpers, etc., and list naming conventions established so
   far, so that new fixtures can participate when they have similar
   capabilities.
  +
  +=== Function Creation Functions
  +
  +There are also functions to help you create function specifications in
  +your channel definitions.
  +
  +==== Color Wheel Hue
  +
  +http://deepsymmetry.org/afterglow/doc/afterglow.channels.html#var-color-wheel-hue[afterglow.channels/color-wheel-hue]
  +returns a function specification which ties a color wheel position to
  +a particular hue, so the color wheel can participate in Afterglow's
  +color effects. See the
  +http://deepsymmetry.org/afterglow/doc/afterglow.channels.html#var-color-wheel-hue[API
  +documentation] for more details, and the
  +http://deepsymmetry.org/afterglow/doc/afterglow.fixtures.blizzard.html#var-torrent-f3[Torrent
  +F3] fixture definition source for an example of its use.
   
   ## Standard Function Types
   
  
positive.code: all over the place in the fixture definitions which ship with
  Afterglow; here is an introduction to how they work.
  
  ==== Color
  
  http://deepsymmetry.org/afterglow/doc/afterglow.channels.html#var-color[afterglow.channels/color]
  returns a channel specification for a channel that controls an
  individual color intensity (such as with an RGB LED fixture). Its two
  mandatory arguments are the channel `offset` (the channel number
  reported in the fixture manual, assuming they are numbered starting
  with `1`), and the `color`, a keyword naming the color. The standard
  colors `:red`, `:green`, `:blue`, and `:white` will automatically
  participate in Afterglow's color mixing for
  <<effects#color-effects,Color Effects>>. If your fixture has other
  color channels, and you would like them to participate in color mixing
  as well, pass the hue value of the color channel with the optional
  keyword argument `:hue`. (See the discussion <<hue-mixing,above>> for
  ways to determine the hue value of your color channel.)
  
  If your fixture supports two-byte color values for more precise color
  mixing, use the most-significant-byte as the `offset` value, and pass
  the offset of least-significant byte along with the optional keyword
  argument `:fine-offset`.
  
  If you want to use a label which differs from the name of the `color`
  
negative.code: 
  |:offset
  
  [[channel-offset]]
  |The number that identifies the channel. Each fixture listens to one
   or more channels, and is itself configured to a partcular DMX channel
   number (DMX channels range from 1 to 512). That configuration defines
  