-instance (IsExprSet ss, IsExpr w, IsVarName vn)
- => IsExpr (VariableShiftPredictOp ss w vn)
-instance (IsExprSet ss, IsCommonExprSet ss, IsCommonExpr w, IsVarName vn)
- => IsCommonExpr (VariableShiftPredictOp ss w vn)
-instance ( IsVariableSet (vn :*: (MentionedVarsOf ss :++: MentionedVarsOf w))
- ) => MentionedVars (VariableShiftPredictOp ss w vn) where
- type MentionedVarsOf (VariableShiftPredictOp ss w vn)
- = vn :*: (MentionedVarsOf ss :++: MentionedVarsOf w)
+
+type instance IsExpr (VariableShiftPredictOp ss w vn)
+ = IsExprSet ss :&&: IsExpr w :&&: IsVarName vn
+
+type instance IsCommonExpr (VariableShiftPredictOp ss w vn)
+ = IsCommonExprSet ss :&&: IsCommonExpr w :&&: IsVarName vn
+
+type instance IsIterativeExpr (VariableShiftPredictOp ss w vn)
+ = IsIterativeExprSet ss :&&: IsIterativeExpr w :&&: IsVarName vn
+
+type instance MentionedVars (VariableShiftPredictOp ss w vn)
+ = vn :*: (MentionedVars ss :++: MentionedVars w)