sig type 'a t = { primary : 'a; backup : 'a; } val select : Core.Std.Date.t -> slot1:'a -> slot2:'a -> 'a Alternating_primary_backup_assignment.t end