       case didContinue(NSUserActivity)
       case didFail(String, Error)
     }
-    enum StateRestoration {
+    enum StateRestoration { // Readonly
       case idle
       case willEncode(NSCoder)
       case didDecode(NSCoder)
     }
-    enum State {
+    enum State { // Readonly
       case awaitingLaunch
       case launched([UIApplicationLaunchOptionsKey: Any]?)
       case active

      var minimumInterval: Interval
      var state: State
      enum State {
        case idle
        case progressing((UIBackgroundFetchResult) -> Void)
        case complete(UIBackgroundFetchResult, (UIBackgroundFetchResult) -> Void)
      }
      enum Interval {

      case failing(URL)
    }
    struct BackgroundURLSessionAction {
      let id: String // Readonly
      let completion: (Void) -> Void // Readonly
      var state: State
      enum State {
        case progressing // Readonly
        case complete
      }
    }
