+/**
+ * A flag used for the promise counting/combination problem within a node,
+ * denoting whether a particular Promise is
+ * <ol><li>@b applicable: can be satisfied by this Node's ModelAction and</li>
+ * <li>@b fulfilled: satisfied by this Node's ModelAction under the current
+ * configuration.</li></ol>
+ */
+typedef enum {
+ PROMISE_IGNORE = 0, /**< This promise is inapplicable; ignore it */
+ PROMISE_UNFULFILLED, /**< This promise is applicable but unfulfilled */
+ PROMISE_FULFILLED /**< This promise is applicable and fulfilled */
+} promise_t;