The type for content-addressable backend stores. The 'a phantom type carries information about the store mutability.
type key = Hash.tThe type for keys.
type value = contentsThe type for raw values.
find t k is Some v if k is associated to v in t and None is k is not present in t.
Write the contents of a value to the store. It's the responsibility of the content-addressable store to generate a consistent key.
val merge : [ `Read | `Write ] t -> key option Irmin.Merge.tmerge t lifts the merge functions defined on contents values to contents key. The merge function will: (i) read the values associated with the given keys, (ii) use the merge function defined on values and (iii) write the resulting values into the store to get the resulting key. See Contents.S.merge.
If any of these operations fail, return `Conflict.
module Key : sig ... endKey provides base functions for user-defined contents keys.
module Val : sig ... endVal provides base functions for user-defined contents values.