The itc crate implements Interval Tree Clocks as described in
let s = Stamp::seed();
let (s1, s2) = s.fork();
let s1prime = s1.event();
let s2prime = s2.event();
let s3 = s2prime.join(&s1);
This module implements the 4 verbs: fork, event, join, peek,
the 3 derived verbs: send, receive and sync,
and a partial ordering to establish causality / the happens-before relation.
Also in the box is a simple ascii coding representation suitable
for printing to stdout and use in protocols.