+data TrendOp v a
+ = Trend !v !a
+ | TrendNan !v !a
+ deriving (Show, Eq, Ord)
+instance (Variable v, Expr a) => Expr (TrendOp v a)
+instance (Variable v, CommonExpr a) => CommonExpr (TrendOp v a)
+
+data VariableShiftPredictOp ss w v
+ = VariableShiftPredictAverage !ss !w !v
+ | VariableShiftPredictSigma !ss !w !v
+ deriving (Show, Eq, Ord)
+instance (ExprSet ss, Expr w, Variable v)
+ => Expr (VariableShiftPredictOp ss w v)
+instance (CommonExprSet ss, CommonExpr w, Variable v)
+ => CommonExpr (VariableShiftPredictOp ss w v)
+
+data FixedShiftPredictOp sm w v
+ = FixedShiftPredictAverage !sm !w !v
+ | FixedShiftPredictSigma !sm !w !v
+ deriving (Show, Eq, Ord)
+instance (Expr sm, Expr w, Variable v)
+ => Expr (FixedShiftPredictOp sm w v)
+instance (CommonExpr sm, CommonExpr w, Variable v)
+ => CommonExpr (FixedShiftPredictOp sm w v)
+
+-- Common special values
+data CommonValue
+ = Unknown
+ | Infinity
+ | NegativeInfinity
+ | Now
+ deriving (Show, Eq, Ord)
+instance Expr CommonValue
+instance CommonExpr CommonValue
+