On 6 April 2012 17:47, Dmitry Olshansky <dmitry.olsh@gmail.com> wrote:
Looks good to me.

The missing piece is:

>You also need means to enumerate attributes.

There are well established patterns for enumerating traits (ie. allMembers and friends)