diff --git a/algebra/cmra.v b/algebra/cmra.v
index 167f75c5e90064b130f307a0fd329356cb9e6e2e..94d4e370a54e60fea70a9eb3ccd51a60e55f1b7b 100644
--- a/algebra/cmra.v
+++ b/algebra/cmra.v
@@ -52,7 +52,7 @@ Record CMRAMixin A `{Dist A, Equiv A, PCore A, Op A, Valid A, ValidN A} := {
 }.
 
 (** Bundeled version *)
-Structure cmraT := CMRAT {
+Structure cmraT := CMRAT' {
   cmra_car :> Type;
   cmra_equiv : Equiv cmra_car;
   cmra_dist : Dist cmra_car;
@@ -62,9 +62,11 @@ Structure cmraT := CMRAT {
   cmra_valid : Valid cmra_car;
   cmra_validN : ValidN cmra_car;
   cmra_cofe_mixin : CofeMixin cmra_car;
-  cmra_mixin : CMRAMixin cmra_car
+  cmra_mixin : CMRAMixin cmra_car;
+  cmra_car' : Type
 }.
-Arguments CMRAT _ {_ _ _ _ _ _ _} _ _.
+Arguments CMRAT' _ {_ _ _ _ _ _ _} _ _ _.
+Notation CMRAT A m m' := (CMRAT' A m m' A).
 Arguments cmra_car : simpl never.
 Arguments cmra_equiv : simpl never.
 Arguments cmra_dist : simpl never.
@@ -150,7 +152,7 @@ Record UCMRAMixin A `{Dist A, Equiv A, PCore A, Op A, Valid A, Empty A} := {
   mixin_ucmra_pcore_unit : pcore ∅ ≡ Some ∅
 }.
 
-Structure ucmraT := UCMRAT {
+Structure ucmraT := UCMRAT' {
   ucmra_car :> Type;
   ucmra_equiv : Equiv ucmra_car;
   ucmra_dist : Dist ucmra_car;
@@ -162,9 +164,11 @@ Structure ucmraT := UCMRAT {
   ucmra_empty : Empty ucmra_car;
   ucmra_cofe_mixin : CofeMixin ucmra_car;
   ucmra_cmra_mixin : CMRAMixin ucmra_car;
-  ucmra_mixin : UCMRAMixin ucmra_car
+  ucmra_mixin : UCMRAMixin ucmra_car;
+  ucmra_car' : Type;
 }.
-Arguments UCMRAT _ {_ _ _ _ _ _ _ _} _ _ _.
+Arguments UCMRAT' _ {_ _ _ _ _ _ _ _} _ _ _ _.
+Notation UCMRAT A m m' m'' := (UCMRAT' A m m' m'' A).
 Arguments ucmra_car : simpl never.
 Arguments ucmra_equiv : simpl never.
 Arguments ucmra_dist : simpl never.
diff --git a/algebra/cofe.v b/algebra/cofe.v
index f628b2fe9201dd429fd653d261101f437e5f1535..a624a12fc13537e082a2142d2d4382d102d4d617 100644
--- a/algebra/cofe.v
+++ b/algebra/cofe.v
@@ -58,14 +58,16 @@ Class Contractive `{Dist A, Dist B} (f : A → B) :=
   contractive n x y : (∀ i, i < n → x ≡{i}≡ y) → f x ≡{n}≡ f y.
 
 (** Bundeled version *)
-Structure cofeT := CofeT {
+Structure cofeT := CofeT' {
   cofe_car :> Type;
   cofe_equiv : Equiv cofe_car;
   cofe_dist : Dist cofe_car;
   cofe_compl : Compl cofe_car;
-  cofe_mixin : CofeMixin cofe_car
+  cofe_mixin : CofeMixin cofe_car;
+  cofe_car' : Type
 }.
-Arguments CofeT _ {_ _ _} _.
+Arguments CofeT' _ {_ _ _} _ _.
+Notation CofeT A m := (CofeT' A m A).
 Add Printing Constructor cofeT.
 Hint Extern 0 (Equiv _) => eapply (@cofe_equiv _) : typeclass_instances.
 Hint Extern 0 (Dist _) => eapply (@cofe_dist _) : typeclass_instances.