{R : Type u} →
  {A : Type v} →
    [inst : CommSemiring R] →
      [inst_1 : AddCommMonoid A] →
        [inst_2 : Module R A] →
          {motive : CoalgebraStruct R A → Sort u_1} →
            ((comul : A →ₗ[R] TensorProduct R A A) →
                (counit : A →ₗ[R] R) → motive { comul := comul, counit := counit }) →
              (t : CoalgebraStruct R A) → motive t