type-object-pattern