  Quipper and Proto-Quipper are a family of quantum programming languages that,
by their nature as circuit description languages, involve two runtimes: one at
which the program generates a circuit and one at which the circuit is executed,
normally with probabilistic results due to measurements. Accordingly, the
language distinguishes two kinds of data: parameters, which are known at
circuit generation time, and states, which are known at circuit execution time.
Sometimes, it is desirable for the results of measurements to control the
generation of the next part of the circuit. Therefore, the language needs to
turn states, such as measurement outcomes, into parameters, an operation we
call dynamic lifting. The goal of this paper is to model this interaction
between the runtimes by providing a general categorical structure enriched in
what we call "bisets". We demonstrate that the biset-enriched structure
achieves a proper semantics of the two runtimes and their interaction, by
showing that it models a variant of Proto-Quipper with dynamic lifting. The
present paper deals with the concrete categorical semantics of this language,
whereas a companion paper deals with the syntax, type system, operational
semantics, and abstract categorical semantics.
