Adds move and copy ops to patch(), thus completing all 6 ops defined in the RFC
Adds unit tests
Fixes a number of bugs. See comments and commit logs for full details.
Removes silly nuance around get_value()
tl;dr move and copy are based off of get_value(), add, and remove. Using those functions to develop move and copy made several edge cases come to light. So what should have been a quick-and-dirty PR turned into a much larger outing.
move
andcopy
ops topatch()
, thus completing all 6 ops defined in the RFCget_value()
tl;dr
move
andcopy
are based off ofget_value()
,add
, andremove
. Using those functions to developmove
andcopy
made several edge cases come to light. So what should have been a quick-and-dirty PR turned into a much larger outing.