  Coherence theorems are fundamental to how we think about monoidal categories
and their generalizations. In this paper we revisit Mac Lane's original proof
of coherence for monoidal categories using the Grothendieck construction. This
perspective makes the approach of Mac Lane's proof very amenable to
generalization. We use the technique to give efficient proofs of many standard
coherence theorems and new coherence results for bicategories with shadow and
for their functors.
