add system description
docstrings and explicit defgenerics

Add docstrings to functions.

Declare functions using defgeneric so the documentation strings are
attached to the protocol, not the implementation.
correct typo in README

It's not multiple values /of/ the object.