module T::Props::Serializable

def with(changed_props)

with() will clone the old object to the new object and merge the specified props to the new object.
def with(changed_props)
  with_existing_hash(changed_props, existing_hash: self.serialize)
end