- total refactor to use multimethods
- added new feature: :optional meta info for lists.
.