sig
  type 'contestant t = {
    round : int;
    position : int;
    entry_pair : 'contestant option * 'contestant option;
    winner : 'contestant option;
  }
  val first : 'contestant Contest.t -> 'contestant
  val map : ('contestant -> 'b) -> 'contestant Contest.t -> 'Contest.t
end