Examples in doxygen are either added via @example <example_file>, or via
a @snipper <example file> <snippet name> command, or via a block between
@code and @endcode. The diffutil documentation was mixing the first and
last ones.
Splitting the different operations into different structures improve the
documentation and allow a user to create the given structure with
designated initializer, while preparing for potential C++ helpers using
function overload on the type.
this allows to compare two lists and generate a list of insertions and deletion
from the old list to the new one.
This is useful to UI frontends to preform partial updates of their view when
data change on the backend.