  In the literature on Kleene algebra, a number of variants have been proposed
which impose additional structure specified by a theory, such as Kleene algebra
with tests (KAT) and the recent Kleene algebra with observations (KAO), or make
specific assumptions about certain constants, as for instance in NetKAT. Many
of these variants fit within the unifying perspective offered by Kleene algebra
with hypotheses, which comes with a canonical language model constructed from a
given set of hypotheses. For the case of KAT, this model corresponds to the
familiar interpretation of expressions as languages of guarded strings. A
relevant question therefore is whether Kleene algebra together with a given set
of hypotheses is complete with respect to its canonical language model. In this
paper, we revisit, combine and extend existing results on this question to
obtain tools for proving completeness in a modular way. We showcase these tools
by giving new and modular proofs of completeness for KAT, KAO and NetKAT, and
we prove completeness for new variants of KAT: KAT extended with a constant for
the full relation, KAT extended with a converse operation, and a version of KAT
where the collection of tests only forms a distributive lattice.
