/-- The forgetful functor from the Eilenberg-Moore category for a monad creates any colimit
which the monad itself preserves.
-/
noncomputable def monadicCreatesColimitOfPreservesColimit (R : D ⥤ C) (K : J ⥤ D)
    [MonadicRightAdjoint R] [PreservesColimit (K ⋙ R) (leftAdjoint R ⋙ R)]
    [PreservesColimit ((K ⋙ R) ⋙ leftAdjoint R ⋙ R) (leftAdjoint R ⋙ R)] :
      CreatesColimit K R := by
  -- Porting note: It would be nice to have a variant of apply which introduces goals for missing
  -- instances.
  letI A := Monad.comparison (Adjunction.ofRightAdjoint R)
  letI B := Monad.forget (Adjunction.toMonad (Adjunction.ofRightAdjoint R))
  let i : (K ⋙ Monad.comparison (Adjunction.ofRightAdjoint R)) ⋙ Monad.forget _ ≅ K ⋙ R :=
    Functor.associator _ _ _ ≪≫
      isoWhiskerLeft K (Monad.comparisonForget (Adjunction.ofRightAdjoint R))
  letI : PreservesColimit ((K ⋙ A) ⋙ Monad.forget
    (Adjunction.toMonad (Adjunction.ofRightAdjoint R)))
      (Adjunction.toMonad (Adjunction.ofRightAdjoint R)).toFunctor := by
    dsimp
    refine' preservesColimitOfIsoDiagram _ i.symm
  letI : PreservesColimit
    (((K ⋙ A) ⋙ Monad.forget (Adjunction.toMonad (Adjunction.ofRightAdjoint R))) ⋙
      (Adjunction.toMonad (Adjunction.ofRightAdjoint R)).toFunctor)
      (Adjunction.toMonad (Adjunction.ofRightAdjoint R)).toFunctor := by
    dsimp
    refine' preservesColimitOfIsoDiagram _ (isoWhiskerRight i (leftAdjoint R ⋙ R)).symm
  letI : CreatesColimit (K ⋙ A) B := CategoryTheory.Monad.forgetCreatesColimit _
  letI : CreatesColimit K (A ⋙ B) := CategoryTheory.compCreatesColimit _ _
  let e := (Monad.comparisonForget (Adjunction.ofRightAdjoint R))
  

Proof state:
C : Type u₁
inst✝⁵ : Category.{v₁, u₁} C
D : Type u₂
inst✝⁴ : Category.{v₂, u₂} D
J : Type u
inst✝³ : Category.{v, u} J
R : D ⥤ C
K : J ⥤ D
inst✝² : MonadicRightAdjoint R
inst✝¹ : PreservesColimit (K ⋙ R) (leftAdjoint R ⋙ R)
inst✝ : PreservesColimit ((K ⋙ R) ⋙ leftAdjoint R ⋙ R) (leftAdjoint R ⋙ R)
A : D ⥤ Monad.Algebra (Adjunction.toMonad (Adjunction.ofRightAdjoint R)) :=
  Monad.comparison (Adjunction.ofRightAdjoint R)
B : Monad.Algebra (Adjunction.toMonad (Adjunction.ofRightAdjoint R)) ⥤ C :=
  Monad.forget (Adjunction.toMonad (Adjunction.ofRightAdjoint R))
i : (K ⋙ Monad.comparison (Adjunction.ofRightAdjoint R)) ⋙
    Monad.forget (Adjunction.toMonad (Adjunction.ofRightAdjoint R)) ≅
  K ⋙ R :=
  Functor.associator K (Monad.comparison (Adjunction.ofRightAdjoint R))
      (Monad.forget (Adjunction.toMonad (Adjunction.ofRightAdjoint R))) ≪≫
    isoWhiskerLeft K (Monad.comparisonForget (Adjunction.ofRightAdjoint R))
this✝² : PreservesColimit ((K ⋙ A) ⋙ Monad.forget (Adjunction.toMonad (Adjunction.ofRightAdjoint R)))
  (Adjunction.toMonad (Adjunction.ofRightAdjoint R)).toFunctor :=
  id (preservesColimitOfIsoDiagram (leftAdjoint R ⋙ R) i.symm)
this✝¹ : PreservesColimit
  (((K ⋙ A) ⋙ Monad.forget (Adjunction.toMonad (Adjunction.ofRightAdjoint R))) ⋙
    (Adjunction.toMonad (Adjunction.ofRightAdjoint R)).toFunctor)
  (Adjunction.toMonad (Adjunction.ofRightAdjoint R)).toFunctor :=
  id (preservesColimitOfIsoDiagram (leftAdjoint R ⋙ R) (isoWhiskerRight i (leftAdjoint R ⋙ R)).symm)
this✝ : CreatesColimit (K ⋙ A) B := Monad.forgetCreatesColimit (K ⋙ A)
this : CreatesColimit K (A ⋙ B) := compCreatesColimit A B
e : Monad.comparison (Adjunction.ofRightAdjoint R) ⋙ Monad.forget (Adjunction.toMonad (Adjunction.ofRightAdjoint R)) ≅
  R :=
  Monad.comparisonForget (Adjunction.ofRightAdjoint R)
⊢ CreatesColimit K R

Next tactic:
apply createsColimitOfNatIso e