synthExpr defs gam pol
  (App s _ (Val _ _ (Var _ (sourceName -> "weak__"))) v@(Val _ _ (Var _ x))) = do

  (t, _, subst, elabE) <- synthExpr defs gam pol v

  return (t, [(x, Discharged t (CZero (TyCon $ mkId "Level")))], subst, elabE)

-- Constructors
synthExpr defs gam pol
  (App s _ (Val _ _ (Var _ (sourceName -> "weak__"))) v@(Val _ _ (Var _ x))) = do

  (t, _, subst, elabE) <- synthExpr defs gam pol v

  return (t, [(x, Discharged t (CZero (TyCon $ mkId "Level")))], subst, elabE)

-- Constructors
synthExpr defs gam pol
  (App s _ (Val _ _ (Var _ (sourceName -> "weak__"))) v@(Val _ _ (Var _ x))) = do

  (t, _, subst, elabE) <- synthExpr defs gam pol v

  return (t, [(x, Discharged t (CZero (TyCon $ mkId "Level")))], subst, elabE)

-- Constructors