extracted NamedTypedOrderedDict and TypedList
redesigned interface of Visitor framework