reassign proto when calling set without path (as opposed to merging), and trim paths