- убрать имена из Thing - Type(name: String, fields: Seq[Field], values: Map[String, Any], is: Set[ID[Type]], abstract: Bool) - Instance в домене вместо The - Abstract - свойство Type, а не самостоятельный тип - оставить только один trait - DTO или ADT - выкинуть ThingRef - переименовать Instance в Data