category_theory.subobject.commaMathlib.CategoryTheory.Subobject.Comma

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2022 Markus Himmel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
 -/
-import Mathbin.CategoryTheory.Subobject.WellPowered
-import Mathbin.CategoryTheory.Limits.Preserves.Finite
-import Mathbin.CategoryTheory.Limits.Shapes.FiniteLimits
+import CategoryTheory.Subobject.WellPowered
+import CategoryTheory.Limits.Preserves.Finite
+import CategoryTheory.Limits.Shapes.FiniteLimits
 
 #align_import category_theory.subobject.comma from "leanprover-community/mathlib"@"9d2f0748e6c50d7a2657c564b1ff2c695b39148d"
 
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2022 Markus Himmel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
-
-! This file was ported from Lean 3 source module category_theory.subobject.comma
-! leanprover-community/mathlib commit 9d2f0748e6c50d7a2657c564b1ff2c695b39148d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Subobject.WellPowered
 import Mathbin.CategoryTheory.Limits.Preserves.Finite
 import Mathbin.CategoryTheory.Limits.Shapes.FiniteLimits
 
+#align_import category_theory.subobject.comma from "leanprover-community/mathlib"@"9d2f0748e6c50d7a2657c564b1ff2c695b39148d"
+
 /-!
 # Subobjects in the category of structured arrows
 
Diff
@@ -72,12 +72,15 @@ theorem projectSubobject_mk [HasLimits C] [PreservesLimits T] {A P : StructuredA
 #align category_theory.structured_arrow.project_subobject_mk CategoryTheory.StructuredArrow.projectSubobject_mk
 -/
 
+#print CategoryTheory.StructuredArrow.projectSubobject_factors /-
 theorem projectSubobject_factors [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T} :
     ∀ P : Subobject A, ∃ q, q ≫ T.map (projectSubobject P).arrow = A.Hom :=
   Subobject.ind _ fun P f hf =>
     ⟨P.Hom ≫ T.map (Subobject.underlyingIso _).inv, by dsimp; simp [← T.map_comp]⟩
 #align category_theory.structured_arrow.project_subobject_factors CategoryTheory.StructuredArrow.projectSubobject_factors
+-/
 
+#print CategoryTheory.StructuredArrow.liftSubobject /-
 /-- A subobject of the underlying object of a structured arrow can be lifted to a subobject of
     the structured arrow, provided that there is a morphism making the subobject into a structured
     arrow. -/
@@ -86,7 +89,9 @@ def liftSubobject {A : StructuredArrow S T} (P : Subobject A.right) {q}
     (hq : q ≫ T.map P.arrow = A.Hom) : Subobject A :=
   Subobject.mk (homMk P.arrow hq : mk q ⟶ A)
 #align category_theory.structured_arrow.lift_subobject CategoryTheory.StructuredArrow.liftSubobject
+-/
 
+#print CategoryTheory.StructuredArrow.lift_projectSubobject /-
 /-- Projecting and then lifting a subobject recovers the original subobject, because there is at
     most one morphism making the projected subobject into a structured arrow. -/
 theorem lift_projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T} :
@@ -101,7 +106,9 @@ theorem lift_projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredA
         · exact (cancel_mono (T.map f.right)).1 (by dsimp; simpa [← T.map_comp] using hq)
       · exact ext _ _ (by dsimp; simp))
 #align category_theory.structured_arrow.lift_project_subobject CategoryTheory.StructuredArrow.lift_projectSubobject
+-/
 
+#print CategoryTheory.StructuredArrow.subobjectEquiv /-
 /-- If `A : S → T.obj B` is a structured arrow for `S : D` and `T : C ⥤ D`, then we can explicitly
     describe the subobjects of `A` as the subobjects `P` of `B` in `C` for which `A.hom` factors
     through the image of `P` under `T`. -/
@@ -126,6 +133,7 @@ def subobjectEquiv [HasLimits C] [PreservesLimits T] (A : StructuredArrow S T) :
         · refine' subobject.mk_le_mk_of_comm (subobject.of_mk_le_mk _ _ h).right _
           exact congr_arg comma_morphism.right (subobject.of_mk_le_mk_comp h))
 #align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquiv
+-/
 
 #print CategoryTheory.StructuredArrow.wellPowered_structuredArrow /-
 /-- If `C` is well-powered and complete and `T` preserves limits, then `structured_arrow S T` is
@@ -165,13 +173,16 @@ theorem projectQuotient_mk [HasColimits C] [PreservesColimits S] {A : Costructur
 #align category_theory.costructured_arrow.project_quotient_mk CategoryTheory.CostructuredArrow.projectQuotient_mk
 -/
 
+#print CategoryTheory.CostructuredArrow.projectQuotient_factors /-
 theorem projectQuotient_factors [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T} :
     ∀ P : Subobject (op A), ∃ q, S.map (projectQuotient P).arrow.unop ≫ q = A.Hom :=
   Subobject.ind _ fun P f hf =>
     ⟨S.map (Subobject.underlyingIso _).unop.inv ≫ P.unop.Hom, by dsimp;
       rw [← category.assoc, ← S.map_comp, ← unop_comp]; simp⟩
 #align category_theory.costructured_arrow.project_quotient_factors CategoryTheory.CostructuredArrow.projectQuotient_factors
+-/
 
+#print CategoryTheory.CostructuredArrow.liftQuotient /-
 /-- A quotient of the underlying object of a costructured arrow can be lifted to a quotient of
     the costructured arrow, provided that there is a morphism making the quotient into a
     costructured arrow. -/
@@ -180,7 +191,9 @@ def liftQuotient {A : CostructuredArrow S T} (P : Subobject (op A.left)) {q}
     (hq : S.map P.arrow.unop ≫ q = A.Hom) : Subobject (op A) :=
   Subobject.mk (homMk P.arrow.unop hq : A ⟶ mk q).op
 #align category_theory.costructured_arrow.lift_quotient CategoryTheory.CostructuredArrow.liftQuotient
+-/
 
+#print CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unop /-
 /-- Technical lemma for `lift_project_quotient`. -/
 @[simp]
 theorem unop_left_comp_underlyingIso_hom_unop {A : CostructuredArrow S T}
@@ -193,7 +206,9 @@ theorem unop_left_comp_underlyingIso_hom_unop {A : CostructuredArrow S T}
     rw [← Quiver.Hom.unop_op f.unop.left]
   rw [← unop_comp, subobject.underlying_iso_hom_comp_eq_mk]
 #align category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unop
+-/
 
+#print CategoryTheory.CostructuredArrow.lift_projectQuotient /-
 /-- Projecting and then lifting a quotient recovers the original quotient, because there is at most
     one morphism making the projected quotient into a costructured arrow. -/
 theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T} :
@@ -209,6 +224,7 @@ theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : Costruct
           simpa [← category.assoc, ← S.map_comp] using hq
       · exact Quiver.Hom.unop_inj (ext _ _ (by dsimp; simp)))
 #align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotient
+-/
 
 #print CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop /-
 /-- Technical lemma for `quotient_equiv`. -/
@@ -225,6 +241,7 @@ theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (Costruc
 #align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop
 -/
 
+#print CategoryTheory.CostructuredArrow.quotientEquiv /-
 /-- If `A : S.obj B ⟶ T` is a costructured arrow for `S : C ⥤ D` and `T : D`, then we can
     explicitly describe the quotients of `A` as the quotients `P` of `B` in `C` for which `A.hom`
     factors through the image of `P` under `S`. -/
@@ -253,6 +270,7 @@ def quotientEquiv [HasColimits C] [PreservesColimits S] (A : CostructuredArrow S
           have := congr_arg Quiver.Hom.unop (subobject.of_mk_le_mk_comp h)
           simpa [-subobject.of_mk_le_mk_comp] using congr_arg comma_morphism.left this)
 #align category_theory.costructured_arrow.quotient_equiv CategoryTheory.CostructuredArrow.quotientEquiv
+-/
 
 #print CategoryTheory.CostructuredArrow.well_copowered_costructuredArrow /-
 /-- If `C` is well-copowered and cocomplete and `S` preserves colimits, then
Diff
@@ -210,6 +210,7 @@ theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : Costruct
       · exact Quiver.Hom.unop_inj (ext _ _ (by dsimp; simp)))
 #align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotient
 
+#print CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop /-
 /-- Technical lemma for `quotient_equiv`. -/
 theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (CostructuredArrow S T)ᵒᵖ}
     {f : P ⟶ op A} {g : Q ⟶ op A} [Mono f.unop.left.op] [Mono g.unop.left.op]
@@ -222,6 +223,7 @@ theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (Costruc
   rw [← unop_comp]
   simp only [subobject.of_mk_le_mk_comp, Quiver.Hom.unop_op]
 #align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop
+-/
 
 /-- If `A : S.obj B ⟶ T` is a costructured arrow for `S : C ⥤ D` and `T : D`, then we can
     explicitly describe the quotients of `A` as the quotients `P` of `B` in `C` for which `A.hom`
Diff
@@ -72,18 +72,12 @@ theorem projectSubobject_mk [HasLimits C] [PreservesLimits T] {A P : StructuredA
 #align category_theory.structured_arrow.project_subobject_mk CategoryTheory.StructuredArrow.projectSubobject_mk
 -/
 
-/- warning: category_theory.structured_arrow.project_subobject_factors -> CategoryTheory.StructuredArrow.projectSubobject_factors is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.project_subobject_factors CategoryTheory.StructuredArrow.projectSubobject_factorsₓ'. -/
 theorem projectSubobject_factors [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T} :
     ∀ P : Subobject A, ∃ q, q ≫ T.map (projectSubobject P).arrow = A.Hom :=
   Subobject.ind _ fun P f hf =>
     ⟨P.Hom ≫ T.map (Subobject.underlyingIso _).inv, by dsimp; simp [← T.map_comp]⟩
 #align category_theory.structured_arrow.project_subobject_factors CategoryTheory.StructuredArrow.projectSubobject_factors
 
-/- warning: category_theory.structured_arrow.lift_subobject -> CategoryTheory.StructuredArrow.liftSubobject is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.lift_subobject CategoryTheory.StructuredArrow.liftSubobjectₓ'. -/
 /-- A subobject of the underlying object of a structured arrow can be lifted to a subobject of
     the structured arrow, provided that there is a morphism making the subobject into a structured
     arrow. -/
@@ -93,9 +87,6 @@ def liftSubobject {A : StructuredArrow S T} (P : Subobject A.right) {q}
   Subobject.mk (homMk P.arrow hq : mk q ⟶ A)
 #align category_theory.structured_arrow.lift_subobject CategoryTheory.StructuredArrow.liftSubobject
 
-/- warning: category_theory.structured_arrow.lift_project_subobject -> CategoryTheory.StructuredArrow.lift_projectSubobject is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.lift_project_subobject CategoryTheory.StructuredArrow.lift_projectSubobjectₓ'. -/
 /-- Projecting and then lifting a subobject recovers the original subobject, because there is at
     most one morphism making the projected subobject into a structured arrow. -/
 theorem lift_projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T} :
@@ -111,9 +102,6 @@ theorem lift_projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredA
       · exact ext _ _ (by dsimp; simp))
 #align category_theory.structured_arrow.lift_project_subobject CategoryTheory.StructuredArrow.lift_projectSubobject
 
-/- warning: category_theory.structured_arrow.subobject_equiv -> CategoryTheory.StructuredArrow.subobjectEquiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquivₓ'. -/
 /-- If `A : S → T.obj B` is a structured arrow for `S : D` and `T : C ⥤ D`, then we can explicitly
     describe the subobjects of `A` as the subobjects `P` of `B` in `C` for which `A.hom` factors
     through the image of `P` under `T`. -/
@@ -177,9 +165,6 @@ theorem projectQuotient_mk [HasColimits C] [PreservesColimits S] {A : Costructur
 #align category_theory.costructured_arrow.project_quotient_mk CategoryTheory.CostructuredArrow.projectQuotient_mk
 -/
 
-/- warning: category_theory.costructured_arrow.project_quotient_factors -> CategoryTheory.CostructuredArrow.projectQuotient_factors is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.project_quotient_factors CategoryTheory.CostructuredArrow.projectQuotient_factorsₓ'. -/
 theorem projectQuotient_factors [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T} :
     ∀ P : Subobject (op A), ∃ q, S.map (projectQuotient P).arrow.unop ≫ q = A.Hom :=
   Subobject.ind _ fun P f hf =>
@@ -187,9 +172,6 @@ theorem projectQuotient_factors [HasColimits C] [PreservesColimits S] {A : Costr
       rw [← category.assoc, ← S.map_comp, ← unop_comp]; simp⟩
 #align category_theory.costructured_arrow.project_quotient_factors CategoryTheory.CostructuredArrow.projectQuotient_factors
 
-/- warning: category_theory.costructured_arrow.lift_quotient -> CategoryTheory.CostructuredArrow.liftQuotient is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.lift_quotient CategoryTheory.CostructuredArrow.liftQuotientₓ'. -/
 /-- A quotient of the underlying object of a costructured arrow can be lifted to a quotient of
     the costructured arrow, provided that there is a morphism making the quotient into a
     costructured arrow. -/
@@ -199,9 +181,6 @@ def liftQuotient {A : CostructuredArrow S T} (P : Subobject (op A.left)) {q}
   Subobject.mk (homMk P.arrow.unop hq : A ⟶ mk q).op
 #align category_theory.costructured_arrow.lift_quotient CategoryTheory.CostructuredArrow.liftQuotient
 
-/- warning: category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop -> CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unop is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unopₓ'. -/
 /-- Technical lemma for `lift_project_quotient`. -/
 @[simp]
 theorem unop_left_comp_underlyingIso_hom_unop {A : CostructuredArrow S T}
@@ -215,9 +194,6 @@ theorem unop_left_comp_underlyingIso_hom_unop {A : CostructuredArrow S T}
   rw [← unop_comp, subobject.underlying_iso_hom_comp_eq_mk]
 #align category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unop
 
-/- warning: category_theory.costructured_arrow.lift_project_quotient -> CategoryTheory.CostructuredArrow.lift_projectQuotient is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotientₓ'. -/
 /-- Projecting and then lifting a quotient recovers the original quotient, because there is at most
     one morphism making the projected quotient into a costructured arrow. -/
 theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T} :
@@ -234,9 +210,6 @@ theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : Costruct
       · exact Quiver.Hom.unop_inj (ext _ _ (by dsimp; simp)))
 #align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotient
 
-/- warning: category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop -> CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unopₓ'. -/
 /-- Technical lemma for `quotient_equiv`. -/
 theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (CostructuredArrow S T)ᵒᵖ}
     {f : P ⟶ op A} {g : Q ⟶ op A} [Mono f.unop.left.op] [Mono g.unop.left.op]
@@ -250,9 +223,6 @@ theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (Costruc
   simp only [subobject.of_mk_le_mk_comp, Quiver.Hom.unop_op]
 #align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop
 
-/- warning: category_theory.costructured_arrow.quotient_equiv -> CategoryTheory.CostructuredArrow.quotientEquiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.quotient_equiv CategoryTheory.CostructuredArrow.quotientEquivₓ'. -/
 /-- If `A : S.obj B ⟶ T` is a costructured arrow for `S : C ⥤ D` and `T : D`, then we can
     explicitly describe the quotients of `A` as the quotients `P` of `B` in `C` for which `A.hom`
     factors through the image of `P` under `S`. -/
Diff
@@ -78,10 +78,7 @@ Case conversion may be inaccurate. Consider using '#align category_theory.struct
 theorem projectSubobject_factors [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T} :
     ∀ P : Subobject A, ∃ q, q ≫ T.map (projectSubobject P).arrow = A.Hom :=
   Subobject.ind _ fun P f hf =>
-    ⟨P.Hom ≫ T.map (Subobject.underlyingIso _).inv,
-      by
-      dsimp
-      simp [← T.map_comp]⟩
+    ⟨P.Hom ≫ T.map (Subobject.underlyingIso _).inv, by dsimp; simp [← T.map_comp]⟩
 #align category_theory.structured_arrow.project_subobject_factors CategoryTheory.StructuredArrow.projectSubobject_factors
 
 /- warning: category_theory.structured_arrow.lift_subobject -> CategoryTheory.StructuredArrow.liftSubobject is a dubious translation:
@@ -110,18 +107,8 @@ theorem lift_projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredA
       fapply subobject.mk_eq_mk_of_comm
       · fapply iso_mk
         · exact subobject.underlying_iso _
-        ·
-          exact
-            (cancel_mono (T.map f.right)).1
-              (by
-                dsimp
-                simpa [← T.map_comp] using hq)
-      ·
-        exact
-          ext _ _
-            (by
-              dsimp
-              simp))
+        · exact (cancel_mono (T.map f.right)).1 (by dsimp; simpa [← T.map_comp] using hq)
+      · exact ext _ _ (by dsimp; simp))
 #align category_theory.structured_arrow.lift_project_subobject CategoryTheory.StructuredArrow.lift_projectSubobject
 
 /- warning: category_theory.structured_arrow.subobject_equiv -> CategoryTheory.StructuredArrow.subobjectEquiv is a dubious translation:
@@ -196,11 +183,8 @@ Case conversion may be inaccurate. Consider using '#align category_theory.costru
 theorem projectQuotient_factors [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T} :
     ∀ P : Subobject (op A), ∃ q, S.map (projectQuotient P).arrow.unop ≫ q = A.Hom :=
   Subobject.ind _ fun P f hf =>
-    ⟨S.map (Subobject.underlyingIso _).unop.inv ≫ P.unop.Hom,
-      by
-      dsimp
-      rw [← category.assoc, ← S.map_comp, ← unop_comp]
-      simp⟩
+    ⟨S.map (Subobject.underlyingIso _).unop.inv ≫ P.unop.Hom, by dsimp;
+      rw [← category.assoc, ← S.map_comp, ← unop_comp]; simp⟩
 #align category_theory.costructured_arrow.project_quotient_factors CategoryTheory.CostructuredArrow.projectQuotient_factors
 
 /- warning: category_theory.costructured_arrow.lift_quotient -> CategoryTheory.CostructuredArrow.liftQuotient is a dubious translation:
@@ -247,13 +231,7 @@ theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : Costruct
         · exact (subobject.underlying_iso f.unop.left.op).unop
         · refine' (cancel_epi (S.map f.unop.left)).1 _
           simpa [← category.assoc, ← S.map_comp] using hq
-      ·
-        exact
-          Quiver.Hom.unop_inj
-            (ext _ _
-              (by
-                dsimp
-                simp)))
+      · exact Quiver.Hom.unop_inj (ext _ _ (by dsimp; simp)))
 #align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotient
 
 /- warning: category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop -> CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop is a dubious translation:
Diff
@@ -73,10 +73,7 @@ theorem projectSubobject_mk [HasLimits C] [PreservesLimits T] {A P : StructuredA
 -/
 
 /- warning: category_theory.structured_arrow.project_subobject_factors -> CategoryTheory.StructuredArrow.projectSubobject_factors is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A), Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A), Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.project_subobject_factors CategoryTheory.StructuredArrow.projectSubobject_factorsₓ'. -/
 theorem projectSubobject_factors [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T} :
     ∀ P : Subobject A, ∃ q, q ≫ T.map (projectSubobject P).arrow = A.Hom :=
@@ -88,10 +85,7 @@ theorem projectSubobject_factors [HasLimits C] [PreservesLimits T] {A : Structur
 #align category_theory.structured_arrow.project_subobject_factors CategoryTheory.StructuredArrow.projectSubobject_factors
 
 /- warning: category_theory.structured_arrow.lift_subobject -> CategoryTheory.StructuredArrow.liftSubobject is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))}, (Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) -> (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))}, (Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) -> (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.lift_subobject CategoryTheory.StructuredArrow.liftSubobjectₓ'. -/
 /-- A subobject of the underlying object of a structured arrow can be lifted to a subobject of
     the structured arrow, provided that there is a morphism making the subobject into a structured
@@ -103,10 +97,7 @@ def liftSubobject {A : StructuredArrow S T} (P : Subobject A.right) {q}
 #align category_theory.structured_arrow.lift_subobject CategoryTheory.StructuredArrow.liftSubobject
 
 /- warning: category_theory.structured_arrow.lift_project_subobject -> CategoryTheory.StructuredArrow.lift_projectSubobject is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))} (hq : Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)), Eq.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (CategoryTheory.StructuredArrow.liftSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T A (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P) q hq) P
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))} (hq : Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)), Eq.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (CategoryTheory.StructuredArrow.liftSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T A (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P) q hq) P
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.lift_project_subobject CategoryTheory.StructuredArrow.lift_projectSubobjectₓ'. -/
 /-- Projecting and then lifting a subobject recovers the original subobject, because there is at
     most one morphism making the projected subobject into a structured arrow. -/
@@ -134,10 +125,7 @@ theorem lift_projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredA
 #align category_theory.structured_arrow.lift_project_subobject CategoryTheory.StructuredArrow.lift_projectSubobject
 
 /- warning: category_theory.structured_arrow.subobject_equiv -> CategoryTheory.StructuredArrow.subobjectEquiv is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] (A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (Subtype.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (CategoryTheory.Subobject.partialOrder.{max u2 u1, u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A))) (Subtype.hasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Subobject.partialOrder.{u2, u1} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] (A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (Subtype.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (CategoryTheory.instPartialOrderSubobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Subtype.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquivₓ'. -/
 /-- If `A : S → T.obj B` is a structured arrow for `S : D` and `T : C ⥤ D`, then we can explicitly
     describe the subobjects of `A` as the subobjects `P` of `B` in `C` for which `A.hom` factors
@@ -203,10 +191,7 @@ theorem projectQuotient_mk [HasColimits C] [PreservesColimits S] {A : Costructur
 -/
 
 /- warning: category_theory.costructured_arrow.project_quotient_factors -> CategoryTheory.CostructuredArrow.projectQuotient_factors is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)), Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)), Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.project_quotient_factors CategoryTheory.CostructuredArrow.projectQuotient_factorsₓ'. -/
 theorem projectQuotient_factors [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T} :
     ∀ P : Subobject (op A), ∃ q, S.map (projectQuotient P).arrow.unop ≫ q = A.Hom :=
@@ -219,10 +204,7 @@ theorem projectQuotient_factors [HasColimits C] [PreservesColimits S] {A : Costr
 #align category_theory.costructured_arrow.project_quotient_factors CategoryTheory.CostructuredArrow.projectQuotient_factors
 
 /- warning: category_theory.costructured_arrow.lift_quotient -> CategoryTheory.CostructuredArrow.liftQuotient is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))}, (Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) -> (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))}, (Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) -> (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.lift_quotient CategoryTheory.CostructuredArrow.liftQuotientₓ'. -/
 /-- A quotient of the underlying object of a costructured arrow can be lifted to a quotient of
     the costructured arrow, provided that there is a morphism making the quotient into a
@@ -234,10 +216,7 @@ def liftQuotient {A : CostructuredArrow S T} (P : Subobject (op A.left)) {q}
 #align category_theory.costructured_arrow.lift_quotient CategoryTheory.CostructuredArrow.liftQuotient
 
 /- warning: category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop -> CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unop is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} {P : Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} (f : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) [_inst_3 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)))], Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (CategoryTheory.Iso.hom.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (CategoryTheory.Subobject.underlyingIso.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} {P : Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} (f : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) [_inst_3 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)))], Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (CategoryTheory.Iso.hom.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (CategoryTheory.Subobject.underlyingIso.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unopₓ'. -/
 /-- Technical lemma for `lift_project_quotient`. -/
 @[simp]
@@ -253,10 +232,7 @@ theorem unop_left_comp_underlyingIso_hom_unop {A : CostructuredArrow S T}
 #align category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unop
 
 /- warning: category_theory.costructured_arrow.lift_project_quotient -> CategoryTheory.CostructuredArrow.lift_projectQuotient is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))} (hq : Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)), Eq.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.CostructuredArrow.liftQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T A (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P) q hq) P
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))} (hq : Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)), Eq.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.CostructuredArrow.liftQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T A (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P) q hq) P
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotientₓ'. -/
 /-- Projecting and then lifting a quotient recovers the original quotient, because there is at most
     one morphism making the projected quotient into a costructured arrow. -/
@@ -281,10 +257,7 @@ theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : Costruct
 #align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotient
 
 /- warning: category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop -> CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} {P : Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} {Q : Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} {f : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)} {g : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)} [_inst_3 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)))] [_inst_4 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g)))] (h : LE.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Subobject.partialOrder.{u2, u1} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g))) _inst_4)), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))))) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (CategoryTheory.Subobject.ofMkLEMk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g))) _inst_3 _inst_4 h))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} {P : Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} {Q : Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} {f : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)} {g : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)} [_inst_3 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)))] [_inst_4 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g)))] (h : LE.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g))) _inst_4)), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))))) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (CategoryTheory.Subobject.ofMkLEMk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g))) _inst_3 _inst_4 h))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unopₓ'. -/
 /-- Technical lemma for `quotient_equiv`. -/
 theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (CostructuredArrow S T)ᵒᵖ}
@@ -300,10 +273,7 @@ theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (Costruc
 #align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop
 
 /- warning: category_theory.costructured_arrow.quotient_equiv -> CategoryTheory.CostructuredArrow.quotientEquiv is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] (A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Subtype.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.Subobject.partialOrder.{max u2 u1, u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Subtype.hasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Subobject.partialOrder.{u2, u1} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] (A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Subtype.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.instPartialOrderSubobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Subtype.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.quotient_equiv CategoryTheory.CostructuredArrow.quotientEquivₓ'. -/
 /-- If `A : S.obj B ⟶ T` is a costructured arrow for `S : C ⥤ D` and `T : D`, then we can
     explicitly describe the quotients of `A` as the quotients `P` of `B` in `C` for which `A.hom`
Diff
@@ -135,7 +135,7 @@ theorem lift_projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredA
 
 /- warning: category_theory.structured_arrow.subobject_equiv -> CategoryTheory.StructuredArrow.subobjectEquiv is a dubious translation:
 lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] (A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (Subtype.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (CategoryTheory.Subobject.partialOrder.{max u2 u1, u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A))) (Subtype.hasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Subobject.partialOrder.{u2, u1} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] (A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (Subtype.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (CategoryTheory.Subobject.partialOrder.{max u2 u1, u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A))) (Subtype.hasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Subobject.partialOrder.{u2, u1} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))
 but is expected to have type
   forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] (A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (Subtype.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (CategoryTheory.instPartialOrderSubobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Subtype.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))
 Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquivₓ'. -/
@@ -280,7 +280,12 @@ theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : Costruct
                 simp)))
 #align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotient
 
-#print CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop /-
+/- warning: category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop -> CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} {P : Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} {Q : Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} {f : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)} {g : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)} [_inst_3 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)))] [_inst_4 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g)))] (h : LE.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Subobject.partialOrder.{u2, u1} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g))) _inst_4)), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))))) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (CategoryTheory.Subobject.ofMkLEMk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g))) _inst_3 _inst_4 h))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} {P : Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} {Q : Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} {f : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)} {g : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)} [_inst_3 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)))] [_inst_4 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g)))] (h : LE.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g))) _inst_4)), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))))) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (CategoryTheory.Subobject.ofMkLEMk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) Q) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) Q (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) g))) _inst_3 _inst_4 h))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))
+Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unopₓ'. -/
 /-- Technical lemma for `quotient_equiv`. -/
 theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (CostructuredArrow S T)ᵒᵖ}
     {f : P ⟶ op A} {g : Q ⟶ op A} [Mono f.unop.left.op] [Mono g.unop.left.op]
@@ -293,11 +298,10 @@ theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (Costruc
   rw [← unop_comp]
   simp only [subobject.of_mk_le_mk_comp, Quiver.Hom.unop_op]
 #align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop
--/
 
 /- warning: category_theory.costructured_arrow.quotient_equiv -> CategoryTheory.CostructuredArrow.quotientEquiv is a dubious translation:
 lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] (A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Subtype.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.Subobject.partialOrder.{max u2 u1, u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Subtype.hasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Subobject.partialOrder.{u2, u1} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] (A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Subtype.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.Subobject.partialOrder.{max u2 u1, u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Subtype.hasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.toHasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Subobject.partialOrder.{u2, u1} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))
 but is expected to have type
   forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] (A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Subtype.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.instPartialOrderSubobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Subtype.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))
 Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.quotient_equiv CategoryTheory.CostructuredArrow.quotientEquivₓ'. -/
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
 
 ! This file was ported from Lean 3 source module category_theory.subobject.comma
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
+! leanprover-community/mathlib commit 9d2f0748e6c50d7a2657c564b1ff2c695b39148d
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -15,6 +15,9 @@ import Mathbin.CategoryTheory.Limits.Shapes.FiniteLimits
 /-!
 # Subobjects in the category of structured arrows
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 We compute the subobjects of an object `A` in the category `structured_arrow S T` for `T : C ⥤ D`
 and `S : D` as a subtype of the subobjects of `A.right`. We deduce that `structured_arrow S T` is
 well-powered if `C` is.
Diff
@@ -48,6 +48,7 @@ namespace StructuredArrow
 
 variable {S : D} {T : C ⥤ D}
 
+#print CategoryTheory.StructuredArrow.projectSubobject /-
 /-- Every subobject of a structured arrow can be projected to a subobject of the underlying
     object. -/
 def projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T} :
@@ -58,13 +59,22 @@ def projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T}
   refine' subobject.mk_eq_mk_of_comm _ _ ((proj S T).mapIso i) _
   exact congr_arg comma_morphism.right hi
 #align category_theory.structured_arrow.project_subobject CategoryTheory.StructuredArrow.projectSubobject
+-/
 
+#print CategoryTheory.StructuredArrow.projectSubobject_mk /-
 @[simp]
 theorem projectSubobject_mk [HasLimits C] [PreservesLimits T] {A P : StructuredArrow S T}
     (f : P ⟶ A) [Mono f] : projectSubobject (Subobject.mk f) = Subobject.mk f.right :=
   rfl
 #align category_theory.structured_arrow.project_subobject_mk CategoryTheory.StructuredArrow.projectSubobject_mk
+-/
 
+/- warning: category_theory.structured_arrow.project_subobject_factors -> CategoryTheory.StructuredArrow.projectSubobject_factors is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A), Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A), Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))
+Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.project_subobject_factors CategoryTheory.StructuredArrow.projectSubobject_factorsₓ'. -/
 theorem projectSubobject_factors [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T} :
     ∀ P : Subobject A, ∃ q, q ≫ T.map (projectSubobject P).arrow = A.Hom :=
   Subobject.ind _ fun P f hf =>
@@ -74,6 +84,12 @@ theorem projectSubobject_factors [HasLimits C] [PreservesLimits T] {A : Structur
       simp [← T.map_comp]⟩
 #align category_theory.structured_arrow.project_subobject_factors CategoryTheory.StructuredArrow.projectSubobject_factors
 
+/- warning: category_theory.structured_arrow.lift_subobject -> CategoryTheory.StructuredArrow.liftSubobject is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))}, (Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) -> (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A)
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))}, (Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) -> (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)
+Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.lift_subobject CategoryTheory.StructuredArrow.liftSubobjectₓ'. -/
 /-- A subobject of the underlying object of a structured arrow can be lifted to a subobject of
     the structured arrow, provided that there is a morphism making the subobject into a structured
     arrow. -/
@@ -83,6 +99,12 @@ def liftSubobject {A : StructuredArrow S T} (P : Subobject A.right) {q}
   Subobject.mk (homMk P.arrow hq : mk q ⟶ A)
 #align category_theory.structured_arrow.lift_subobject CategoryTheory.StructuredArrow.liftSubobject
 
+/- warning: category_theory.structured_arrow.lift_project_subobject -> CategoryTheory.StructuredArrow.lift_projectSubobject is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))} (hq : Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)), Eq.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (CategoryTheory.StructuredArrow.liftSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T A (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P) q hq) P
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] {A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))} (hq : Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)), Eq.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (CategoryTheory.StructuredArrow.liftSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T A (CategoryTheory.StructuredArrow.projectSubobject.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P) q hq) P
+Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.lift_project_subobject CategoryTheory.StructuredArrow.lift_projectSubobjectₓ'. -/
 /-- Projecting and then lifting a subobject recovers the original subobject, because there is at
     most one morphism making the projected subobject into a structured arrow. -/
 theorem lift_projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredArrow S T} :
@@ -108,6 +130,12 @@ theorem lift_projectSubobject [HasLimits C] [PreservesLimits T] {A : StructuredA
               simp))
 #align category_theory.structured_arrow.lift_project_subobject CategoryTheory.StructuredArrow.lift_projectSubobject
 
+/- warning: category_theory.structured_arrow.subobject_equiv -> CategoryTheory.StructuredArrow.subobjectEquiv is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] (A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (Subtype.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A) (CategoryTheory.Subobject.partialOrder.{max u2 u1, u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.StructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T) A))) (Subtype.hasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Subobject.partialOrder.{u2, u1} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 T (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 T ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) C (CategoryTheory.Subobject.hasCoe.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : D} {T : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 T] (A : CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (Subtype.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) (CategoryTheory.instPartialOrderSubobject.{u1, max u2 u1} (CategoryTheory.StructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryStructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Subtype.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) (fun (P : CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S)) (CategoryTheory.Comma.left.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) q (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 T) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)) (CategoryTheory.instPartialOrderSubobject.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A)))) C _inst_1 (CategoryTheory.Subobject.underlying.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))) P) (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) (CategoryTheory.Subobject.arrow.{u1, u2} C _inst_1 (CategoryTheory.Comma.right.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A) P))) (CategoryTheory.Comma.hom.{u1, u1, u1, u1, u2, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 S) T A))))
+Case conversion may be inaccurate. Consider using '#align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquivₓ'. -/
 /-- If `A : S → T.obj B` is a structured arrow for `S : D` and `T : C ⥤ D`, then we can explicitly
     describe the subobjects of `A` as the subobjects `P` of `B` in `C` for which `A.hom` factors
     through the image of `P` under `T`. -/
@@ -133,12 +161,14 @@ def subobjectEquiv [HasLimits C] [PreservesLimits T] (A : StructuredArrow S T) :
           exact congr_arg comma_morphism.right (subobject.of_mk_le_mk_comp h))
 #align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquiv
 
+#print CategoryTheory.StructuredArrow.wellPowered_structuredArrow /-
 /-- If `C` is well-powered and complete and `T` preserves limits, then `structured_arrow S T` is
     well-powered. -/
 instance wellPowered_structuredArrow [WellPowered C] [HasLimits C] [PreservesLimits T] :
     WellPowered (StructuredArrow S T)
     where subobject_small X := small_map (subobjectEquiv X).toEquiv
 #align category_theory.structured_arrow.well_powered_structured_arrow CategoryTheory.StructuredArrow.wellPowered_structuredArrow
+-/
 
 end StructuredArrow
 
@@ -146,6 +176,7 @@ namespace CostructuredArrow
 
 variable {S : C ⥤ D} {T : D}
 
+#print CategoryTheory.CostructuredArrow.projectQuotient /-
 /-- Every quotient of a costructured arrow can be projected to a quotient of the underlying
     object. -/
 def projectQuotient [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T} :
@@ -157,14 +188,23 @@ def projectQuotient [HasColimits C] [PreservesColimits S] {A : CostructuredArrow
   have := congr_arg Quiver.Hom.unop hi
   simpa using congr_arg comma_morphism.left this
 #align category_theory.costructured_arrow.project_quotient CategoryTheory.CostructuredArrow.projectQuotient
+-/
 
+#print CategoryTheory.CostructuredArrow.projectQuotient_mk /-
 @[simp]
 theorem projectQuotient_mk [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T}
     {P : (CostructuredArrow S T)ᵒᵖ} (f : P ⟶ op A) [Mono f] :
     projectQuotient (Subobject.mk f) = Subobject.mk f.unop.left.op :=
   rfl
 #align category_theory.costructured_arrow.project_quotient_mk CategoryTheory.CostructuredArrow.projectQuotient_mk
+-/
 
+/- warning: category_theory.costructured_arrow.project_quotient_factors -> CategoryTheory.CostructuredArrow.projectQuotient_factors is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)), Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)), Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))
+Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.project_quotient_factors CategoryTheory.CostructuredArrow.projectQuotient_factorsₓ'. -/
 theorem projectQuotient_factors [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T} :
     ∀ P : Subobject (op A), ∃ q, S.map (projectQuotient P).arrow.unop ≫ q = A.Hom :=
   Subobject.ind _ fun P f hf =>
@@ -175,6 +215,12 @@ theorem projectQuotient_factors [HasColimits C] [PreservesColimits S] {A : Costr
       simp⟩
 #align category_theory.costructured_arrow.project_quotient_factors CategoryTheory.CostructuredArrow.projectQuotient_factors
 
+/- warning: category_theory.costructured_arrow.lift_quotient -> CategoryTheory.CostructuredArrow.liftQuotient is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))}, (Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) -> (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))}, (Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) -> (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))
+Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.lift_quotient CategoryTheory.CostructuredArrow.liftQuotientₓ'. -/
 /-- A quotient of the underlying object of a costructured arrow can be lifted to a quotient of
     the costructured arrow, provided that there is a morphism making the quotient into a
     costructured arrow. -/
@@ -184,6 +230,12 @@ def liftQuotient {A : CostructuredArrow S T} (P : Subobject (op A.left)) {q}
   Subobject.mk (homMk P.arrow.unop hq : A ⟶ mk q).op
 #align category_theory.costructured_arrow.lift_quotient CategoryTheory.CostructuredArrow.liftQuotient
 
+/- warning: category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop -> CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unop is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} {P : Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} (f : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) [_inst_3 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)))], Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (CategoryTheory.Iso.hom.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (CategoryTheory.Subobject.underlyingIso.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T))) P (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} {P : Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)} (f : Quiver.Hom.{succ u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Quiver.opposite.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) [_inst_3 : CategoryTheory.Mono.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)))], Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3))) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (CategoryTheory.Iso.hom.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (CategoryTheory.Subobject.underlyingIso.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (CategoryTheory.Subobject.mk.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P))) (Quiver.Hom.op.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A))) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P)) (CategoryTheory.CommaMorphism.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Opposite.unop.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) P) (Quiver.Hom.unop.{max u2 u1, succ u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T))) P (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A) f))) _inst_3)))
+Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unopₓ'. -/
 /-- Technical lemma for `lift_project_quotient`. -/
 @[simp]
 theorem unop_left_comp_underlyingIso_hom_unop {A : CostructuredArrow S T}
@@ -197,6 +249,12 @@ theorem unop_left_comp_underlyingIso_hom_unop {A : CostructuredArrow S T}
   rw [← unop_comp, subobject.underlying_iso_hom_comp_eq_mk]
 #align category_theory.costructured_arrow.unop_left_comp_underlying_iso_hom_unop CategoryTheory.CostructuredArrow.unop_left_comp_underlyingIso_hom_unop
 
+/- warning: category_theory.costructured_arrow.lift_project_quotient -> CategoryTheory.CostructuredArrow.lift_projectQuotient is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))} (hq : Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)), Eq.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.CostructuredArrow.liftQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T A (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P) q hq) P
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] {A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T} (P : CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) {q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))} (hq : Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P))) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P)))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)), Eq.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.CostructuredArrow.liftQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T A (CategoryTheory.CostructuredArrow.projectQuotient.{u1, u2, u3} C _inst_1 D _inst_2 S T _inst_3 _inst_4 A P) q hq) P
+Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotientₓ'. -/
 /-- Projecting and then lifting a quotient recovers the original quotient, because there is at most
     one morphism making the projected quotient into a costructured arrow. -/
 theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : CostructuredArrow S T} :
@@ -219,6 +277,7 @@ theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : Costruct
                 simp)))
 #align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotient
 
+#print CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop /-
 /-- Technical lemma for `quotient_equiv`. -/
 theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (CostructuredArrow S T)ᵒᵖ}
     {f : P ⟶ op A} {g : Q ⟶ op A} [Mono f.unop.left.op] [Mono g.unop.left.op]
@@ -231,7 +290,14 @@ theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (Costruc
   rw [← unop_comp]
   simp only [subobject.of_mk_le_mk_comp, Quiver.Hom.unop_op]
 #align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop
+-/
 
+/- warning: category_theory.costructured_arrow.quotient_equiv -> CategoryTheory.CostructuredArrow.quotientEquiv is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] (A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Subtype.{succ (max u2 u1)} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.Subobject.partialOrder.{max u2 u1, u1} (Opposite.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.CostructuredArrow.category.{u1, u3, u2, u1} C _inst_1 D _inst_2 S T)) (Opposite.op.{succ (max u2 u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Subtype.hasLe.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Subobject.partialOrder.{u2, u1} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (CategoryTheory.Functor.obj.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P))) (CategoryTheory.Functor.obj.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Functor.map.{u1, u1, u2, u3} C _inst_1 D _inst_2 S (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) ((fun (a : Type.{max u2 u1}) (b : Type.{u2}) [self : HasLiftT.{succ (max u2 u1), succ u2} a b] => self.0) (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (HasLiftT.mk.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CoeTCₓ.coe.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (coeBase.{succ (max u2 u1), succ u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.{succ u2} C) (CategoryTheory.Subobject.hasCoe.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u1, u3} D] {S : CategoryTheory.Functor.{u1, u1, u2, u3} C _inst_1 D _inst_2} {T : D} [_inst_3 : CategoryTheory.Limits.HasColimits.{u1, u2} C _inst_1] [_inst_4 : CategoryTheory.Limits.PreservesColimits.{u1, u1, u2, u3} C _inst_1 D _inst_2 S] (A : CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T), OrderIso.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (Subtype.{max (succ u2) (succ u1)} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)) (CategoryTheory.instPartialOrderSubobject.{u1, max u2 u1} (Opposite.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (CategoryTheory.Category.opposite.{u1, max u2 u1} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) (CategoryTheory.instCategoryCostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T)) (Opposite.op.{max (succ u2) (succ u1)} (CategoryTheory.CostructuredArrow.{u1, u1, u2, u3} C _inst_1 D _inst_2 S T) A)))) (Subtype.le.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.toLE.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (fun (P : CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Exists.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (fun (q : Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) => Eq.{succ u1} (Quiver.Hom.{succ u1, u3} D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.comp.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) (Prefunctor.obj.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P))) (Prefunctor.obj.{succ u1, succ u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u3} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (Prefunctor.map.{succ u1, succ u1, u2, u3} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) D (CategoryTheory.CategoryStruct.toQuiver.{u1, u3} D (CategoryTheory.Category.toCategoryStruct.{u1, u3} D _inst_2)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u3} C _inst_1 D _inst_2 S) (Opposite.unop.{succ u2} C (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Opposite.unop.{succ u2} C (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P)) (Quiver.Hom.unop.{u2, succ u1} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{max (succ u2) (succ u1), succ u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.CategoryStruct.toQuiver.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.Category.toCategoryStruct.{max u2 u1, max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))))) (Opposite.{succ u2} C) (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.toCategoryStruct.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1))) (CategoryTheory.Functor.toPrefunctor.{max u2 u1, u1, max u2 u1, u2} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (Preorder.smallCategory.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (PartialOrder.toPreorder.{max u2 u1} (CategoryTheory.Subobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))) (CategoryTheory.instPartialOrderSubobject.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))) (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (CategoryTheory.Subobject.underlying.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)))) P) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) (CategoryTheory.Subobject.arrow.{u1, u2} (Opposite.{succ u2} C) (CategoryTheory.Category.opposite.{u1, u2} C _inst_1) (Opposite.op.{succ u2} C (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A)) P))) q) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u3} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) D _inst_2 S (CategoryTheory.Functor.fromPUnit.{u1, u3} D _inst_2 T) A))))
+Case conversion may be inaccurate. Consider using '#align category_theory.costructured_arrow.quotient_equiv CategoryTheory.CostructuredArrow.quotientEquivₓ'. -/
 /-- If `A : S.obj B ⟶ T` is a costructured arrow for `S : C ⥤ D` and `T : D`, then we can
     explicitly describe the quotients of `A` as the quotients `P` of `B` in `C` for which `A.hom`
     factors through the image of `P` under `S`. -/
@@ -261,12 +327,14 @@ def quotientEquiv [HasColimits C] [PreservesColimits S] (A : CostructuredArrow S
           simpa [-subobject.of_mk_le_mk_comp] using congr_arg comma_morphism.left this)
 #align category_theory.costructured_arrow.quotient_equiv CategoryTheory.CostructuredArrow.quotientEquiv
 
+#print CategoryTheory.CostructuredArrow.well_copowered_costructuredArrow /-
 /-- If `C` is well-copowered and cocomplete and `S` preserves colimits, then
     `costructured_arrow S T` is well-copowered. -/
 instance well_copowered_costructuredArrow [WellPowered Cᵒᵖ] [HasColimits C] [PreservesColimits S] :
     WellPowered (CostructuredArrow S T)ᵒᵖ
     where subobject_small X := small_map (quotientEquiv (unop X)).toEquiv
 #align category_theory.costructured_arrow.well_copowered_costructured_arrow CategoryTheory.CostructuredArrow.well_copowered_costructuredArrow
+-/
 
 end CostructuredArrow
 
Diff
@@ -220,17 +220,17 @@ theorem lift_projectQuotient [HasColimits C] [PreservesColimits S] {A : Costruct
 #align category_theory.costructured_arrow.lift_project_quotient CategoryTheory.CostructuredArrow.lift_projectQuotient
 
 /-- Technical lemma for `quotient_equiv`. -/
-theorem unop_left_comp_ofMkLeMk_unop {A : CostructuredArrow S T} {P Q : (CostructuredArrow S T)ᵒᵖ}
+theorem unop_left_comp_ofMkLEMk_unop {A : CostructuredArrow S T} {P Q : (CostructuredArrow S T)ᵒᵖ}
     {f : P ⟶ op A} {g : Q ⟶ op A} [Mono f.unop.left.op] [Mono g.unop.left.op]
     (h : Subobject.mk f.unop.left.op ≤ Subobject.mk g.unop.left.op) :
-    g.unop.left ≫ (Subobject.ofMkLeMk f.unop.left.op g.unop.left.op h).unop = f.unop.left :=
+    g.unop.left ≫ (Subobject.ofMkLEMk f.unop.left.op g.unop.left.op h).unop = f.unop.left :=
   by
   conv_lhs =>
     congr
     rw [← Quiver.Hom.unop_op g.unop.left]
   rw [← unop_comp]
   simp only [subobject.of_mk_le_mk_comp, Quiver.Hom.unop_op]
-#align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLeMk_unop
+#align category_theory.costructured_arrow.unop_left_comp_of_mk_le_mk_unop CategoryTheory.CostructuredArrow.unop_left_comp_ofMkLEMk_unop
 
 /-- If `A : S.obj B ⟶ T` is a costructured arrow for `S : C ⥤ D` and `T : D`, then we can
     explicitly describe the quotients of `A` as the quotients `P` of `B` in `C` for which `A.hom`

Changes in mathlib4

mathlib3
mathlib4
Revert "chore: revert #7703 (#7710)"

This reverts commit f3695eb2.

Diff
@@ -114,6 +114,10 @@ def subobjectEquiv [HasLimits C] [PreservesLimits T] (A : StructuredArrow S T) :
       exact congr_arg CommaMorphism.right (Subobject.ofMkLEMk_comp h)
 #align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquiv
 
+-- These lemmas have always been bad (#7657), but leanprover/lean4#2644 made `simp` start noticing
+attribute [nolint simpNF] CategoryTheory.StructuredArrow.subobjectEquiv_symm_apply
+  CategoryTheory.StructuredArrow.subobjectEquiv_apply_coe
+
 /-- If `C` is well-powered and complete and `T` preserves limits, then `StructuredArrow S T` is
     well-powered. -/
 instance wellPowered_structuredArrow [WellPowered C] [HasLimits C] [PreservesLimits T] :
chore: revert #7703 (#7710)

This reverts commit 26eb2b0a.

Diff
@@ -114,10 +114,6 @@ def subobjectEquiv [HasLimits C] [PreservesLimits T] (A : StructuredArrow S T) :
       exact congr_arg CommaMorphism.right (Subobject.ofMkLEMk_comp h)
 #align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquiv
 
--- These lemmas have always been bad (#7657), but leanprover/lean4#2644 made `simp` start noticing
-attribute [nolint simpNF] CategoryTheory.StructuredArrow.subobjectEquiv_symm_apply
-  CategoryTheory.StructuredArrow.subobjectEquiv_apply_coe
-
 /-- If `C` is well-powered and complete and `T` preserves limits, then `StructuredArrow S T` is
     well-powered. -/
 instance wellPowered_structuredArrow [WellPowered C] [HasLimits C] [PreservesLimits T] :
chore: bump toolchain to v4.2.0-rc2 (#7703)

This includes all the changes from #7606.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -114,6 +114,10 @@ def subobjectEquiv [HasLimits C] [PreservesLimits T] (A : StructuredArrow S T) :
       exact congr_arg CommaMorphism.right (Subobject.ofMkLEMk_comp h)
 #align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquiv
 
+-- These lemmas have always been bad (#7657), but leanprover/lean4#2644 made `simp` start noticing
+attribute [nolint simpNF] CategoryTheory.StructuredArrow.subobjectEquiv_symm_apply
+  CategoryTheory.StructuredArrow.subobjectEquiv_apply_coe
+
 /-- If `C` is well-powered and complete and `T` preserves limits, then `StructuredArrow S T` is
     well-powered. -/
 instance wellPowered_structuredArrow [WellPowered C] [HasLimits C] [PreservesLimits T] :
chore: remove trailing space in backticks (#7617)

This will improve spaces in the mathlib4 docs.

Diff
@@ -17,7 +17,7 @@ and `S : D` as a subtype of the subobjects of `A.right`. We deduce that `Structu
 well-powered if `C` is.
 
 ## Main declarations
-* `StructuredArrow.subobjectEquiv `: the order-equivalence between `Subobject A` and a subtype of
+* `StructuredArrow.subobjectEquiv`: the order-equivalence between `Subobject A` and a subtype of
   `Subobject A.right`.
 
 ## Implementation notes
style: fix wrapping of where (#7149)
Diff
@@ -117,8 +117,8 @@ def subobjectEquiv [HasLimits C] [PreservesLimits T] (A : StructuredArrow S T) :
 /-- If `C` is well-powered and complete and `T` preserves limits, then `StructuredArrow S T` is
     well-powered. -/
 instance wellPowered_structuredArrow [WellPowered C] [HasLimits C] [PreservesLimits T] :
-    WellPowered (StructuredArrow S T)
-    where subobject_small X := small_map (subobjectEquiv X).toEquiv
+    WellPowered (StructuredArrow S T) where
+  subobject_small X := small_map (subobjectEquiv X).toEquiv
 #align category_theory.structured_arrow.well_powered_structured_arrow CategoryTheory.StructuredArrow.wellPowered_structuredArrow
 
 end StructuredArrow
@@ -235,8 +235,8 @@ def quotientEquiv [HasColimits C] [PreservesColimits S] (A : CostructuredArrow S
 /-- If `C` is well-copowered and cocomplete and `S` preserves colimits, then
     `CostructuredArrow S T` is well-copowered. -/
 instance well_copowered_costructuredArrow [WellPowered Cᵒᵖ] [HasColimits C] [PreservesColimits S] :
-    WellPowered (CostructuredArrow S T)ᵒᵖ
-    where subobject_small X := small_map (quotientEquiv (unop X)).toEquiv
+    WellPowered (CostructuredArrow S T)ᵒᵖ where
+  subobject_small X := small_map (quotientEquiv (unop X)).toEquiv
 #align category_theory.costructured_arrow.well_copowered_costructured_arrow CategoryTheory.CostructuredArrow.well_copowered_costructuredArrow
 
 end CostructuredArrow
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2022 Markus Himmel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
-
-! This file was ported from Lean 3 source module category_theory.subobject.comma
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Subobject.WellPowered
 import Mathlib.CategoryTheory.Limits.Preserves.Finite
 import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits
 
+#align_import category_theory.subobject.comma from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
+
 /-!
 # Subobjects in the category of structured arrows
 
chore: fix focusing dots (#5708)

This PR is the result of running

find . -type f -name "*.lean" -exec sed -i -E 's/^( +)\. /\1· /' {} \;
find . -type f -name "*.lean" -exec sed -i -E 'N;s/^( +·)\n +(.*)$/\1 \2/;P;D' {} \;

which firstly replaces . focusing dots with · and secondly removes isolated instances of such dots, unifying them with the following line. A new rule is placed in the style linter to verify this.

Diff
@@ -112,8 +112,8 @@ def subobjectEquiv [HasLimits C] [PreservesLimits T] (A : StructuredArrow S T) :
     refine' ⟨fun h => Subobject.mk_le_mk_of_comm _ _, fun h => _⟩
     · exact homMk (Subobject.ofMkLEMk _ _ h)
         ((cancel_mono (T.map g.right)).1 (by simp [← T.map_comp]))
-    . aesop_cat
-    . refine' Subobject.mk_le_mk_of_comm (Subobject.ofMkLEMk _ _ h).right _
+    · aesop_cat
+    · refine' Subobject.mk_le_mk_of_comm (Subobject.ofMkLEMk _ _ h).right _
       exact congr_arg CommaMorphism.right (Subobject.ofMkLEMk_comp h)
 #align category_theory.structured_arrow.subobject_equiv CategoryTheory.StructuredArrow.subobjectEquiv
 
@@ -224,7 +224,7 @@ def quotientEquiv [HasColimits C] [PreservesColimits S] (A : CostructuredArrow S
       dsimp
       simp only [← S.map_comp_assoc, unop_left_comp_ofMkLEMk_unop, unop_op, CommaMorphism.w,
         Functor.const_obj_obj, right_eq_id, Functor.const_obj_map, Category.comp_id]
-    . apply Quiver.Hom.unop_inj
+    · apply Quiver.Hom.unop_inj
       ext
       exact unop_left_comp_ofMkLEMk_unop _
     · refine' Subobject.mk_le_mk_of_comm (Subobject.ofMkLEMk _ _ h).unop.left.op _
feat: port CategoryTheory.Subobject.Comma (#3502)

Co-authored-by: Moritz Firsching <firsching@google.com> Co-authored-by: Joël Riou <joel.riou@universite-paris-saclay.fr>

Dependencies 2 + 251

252 files ported (99.2%)
102303 lines ported (99.9%)
Show graph

The unported dependencies are