rename value_type to value_kind, introduce document class