diff --git a/iris/parameter.v b/iris/parameter.v
index 671bdbab73a64d8051348ad8bc01adc0bbdd8ad6..7bb6d313ea8ed0348b05f8f4b14dfc7eb50b5c65 100644
--- a/iris/parameter.v
+++ b/iris/parameter.v
@@ -1,11 +1,13 @@
 Require Export modures.cmra iris.language.
 
+Set Bullet Behavior "Strict Subproofs".
+
 Record iParam := IParam {
   iexpr : Type;
   ival : Type;
   istate : Type;
-  icmra : cofeT → cmraT;
   ilanguage : Language iexpr ival istate;
+  icmra : cofeT → cmraT;
   icmra_empty A : Empty (icmra A);
   icmra_empty_spec A : RAIdentity (icmra A);
   icmra_map {A B} (f : A -n> B) : icmra A -n> icmra B;
@@ -15,6 +17,7 @@ Record iParam := IParam {
     icmra_map (g ◎ f) x ≡ icmra_map g (icmra_map f x);
   icmra_map_mono {A B} (f : A -n> B) : CMRAMonotone (icmra_map f)
 }.
+Arguments IParam _ _ _ _ _ {_ _} _ {_ _ _ _}.
 Existing Instances ilanguage.
 Existing Instances icmra_empty icmra_empty_spec icmra_map_ne icmra_map_mono.
 
@@ -24,4 +27,16 @@ Proof.
   by intros ?; apply equiv_dist=> n; apply icmra_map_ne=> ?; apply equiv_dist.
 Qed.
 
-Canonical Structure istateC Σ := leibnizC (istate Σ).
\ No newline at end of file
+Definition IParamConst (iexpr ival istate : Type)
+           (ilanguage : Language iexpr ival istate)
+           (icmra : cmraT) {icmra_empty : Empty icmra}
+           {icmra_empty_spec : RAIdentity icmra}:
+  iParam.
+eapply (IParam iexpr ival istate ilanguage
+                   (fun _ => icmra) (fun _ _ _ => cid)).
+Unshelve.
+- by intros.
+- by intros.
+Defined.
+
+Canonical Structure istateC Σ := leibnizC (istate Σ).