 struct TransitionOf<F: Feature>
 {
     public
-    enum From<From: FeatureState> where From.ParentFeature == F { }
+    struct Into<S: FeatureState> where S.ParentFeature == F
+    {
+        public
+        let newState: S
+    }
+    
+    public
+    struct From<S: FeatureState> where S.ParentFeature == F
+    {
+        public
+        let oldState: S
+    }
     
     public
     struct Between<From: FeatureState, Into: FeatureState> where

            
            let oldState =
            
            try REQ.value("\(F.name) is in \(From.self) state") {
                
                model >> From.self
            }
            
            //===

    let newState: Any
}

public
typealias TransitionInto<S: FeatureState> = TransitionOf<S.ParentFeature>.Into<S>

public
typealias TransitionFrom<S: FeatureState> = TransitionOf<S.ParentFeature>.From<S>

#if swift(>=3.2)
    
public
