         optional: optional, table: a))
   }
 
+  mutating func retryAtPartialSuccess() {
+    add(.RetryAtPartialSuccess, optional: false)
+    _retryAware = true
+  }
+
 }

  case EatUntilIncludingBytesFromTable
  case EatWhileBytesFromTable
  case EatUntilBytesFromTable
}



        case .EatUntilBytesFromTable:
          let table = (data as! FirstCharTableParam).table
          b = stream.eatUntilBytesFromTable(table)
        case .RetryAtPartialSuccess:
          _retryAtPartialSuccess = true
          b = true
      }
      if !b && !data.optional { // No success and not optional.
        return false
