# Methods common to all lazyNut objects

## description

    object description
    object

Emit a description of `object` that in XML includes at least the elements `pretty name`; `type`; and `subtype`. `subtype` includes zero or more sub-elements indicating the `object`'s facets.
The non-XML version's output is in one of the forms:

    object is a type/subtype: Key: value; Key: value; ...
    pretty-name [object] is a type/subtype: Key: value; Key: value; ...
    object is a type/{facet,facet,...}: Key: value; Key: value; ...
    pretty-name [object] is a type/{facet,...,...}: Key: value; Key: value; ...

## type

    object type subtype

Change `object`'s subtype to `subtype`.

## setters

    object setters

List lazyNut commands for modifying elements of the `object`'s description.

## commands

    object commands

List all methods that apply to `object`.

## set_pretty_name

    object set_pretty_name pretty_name

Associate the display name `pretty_name` with `object`.

## add_facet

    object add_facet facet_type

Add a facet of facet type `facet_type` to `object`, destroying the existing facet of the same role, if such exists.

## add_hint

    object add_hint key value...

Add the pair `key`-`value` to the hints component of the description of `object`.

## add_hint_plus

    object add_hint_plus extra_key extra_value key value...

Add the pair `key`-`value` to the hints component of the description of `object`; an additional sub-key `extra_key` associated with the value `extra_value` will be added nested within the new hint.

## change_hint

    object change_hint key value...

Change the pair with key `key` to `key`-`value` in the hints component of the description of `object`.