add docs, introduce forceOverride to override non-null fields on merge