one deserializer instance for all domains
use @TupleConstructor (again)