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