role assignment for systems with a primary and backup instances that switch roles daily for ease of deploying new versions.
type 'a t
=
{
primary : 'a;
backup : 'a;
}
val select : Core.Date.t ‑> slot1:'a ‑> slot2:'a ‑> 'a t