A `Probe` records some integer value that is passed to `at` along with a timestamp.

`type t``= private int```
`type probe``= t```
`type 'a create_args`````

The `*_args` below are instantiated differently for `Timer`s and `Probe`s. See `Profiler_intf` below.

`type 'a record_args`````
`val create : name:string ‑> t create_args`

Create a timer or probe that isn't in a group.

`val record : t record_args`

`record` a particular data sample.

`module Group : sig ... end`

A `Group` provides a way of grouping multiple probes (or timers). Once grouped, one can measure stats between members of a group -- i.e. the time it takes to get from one probe to the other in the group, or the change in a metric between two probes in a group.