Annotates a possible value for IValueOptions,
    will be validated at instance creation time.

    @param value:      a possible value for the IValueOptions being defined.
    @type  value:      Any
    @param is_default: if the option should be the default value.
    @type  is_default: bool
    @param label:      option label or None; if none the string representation
                       of the value will be used as label.
    @type  label:      str or unicode or None

def option(value, is_default=False, label=None):
    """
    Annotates a possible value for IValueOptions,
    will be validated at instance creation time.

    @param value:      a possible value for the IValueOptions being defined.
    @type  value:      Any
    @param is_default: if the option should be the default value.
    @type  is_default: bool
    @param label:      option label or None; if none the string representation
                       of the value will be used as label.
    @type  label:      str or unicode or None
    """
    _annotate("option", value, is_default=is_default, label=label)