fn merge(current: &mut Table, base: &Table, new: &Table, known: Option<&Table>)Expand description
What changed from base to new, set over current. A list or a table
on one side only stands against an empty one on the other: emptied, it
takes out what it held, never what another writer added since; filled
from nothing, it adds to what another writer put there.
known: the base as the state’s type reads it (none: all of it); a key of
the base it does not hold, nor new, is one that type does not know,
left as current holds it.