Breaking change: IValueType renamed to IValueObject to reflect intention of use