     }
 
     enum BehaviorAllow {
-        case U
-        case R
-        case UR
+        case U // any character not in the unreserved set will be encoded
+        case UR // any character not in the union of (unreserved / reserved / pct-encoding) will be encoded
     }
 
     struct Behavior {

                            } else if (estate == .ScanningModifier) {
                                if j == "," {
                                    // Process VarSpec
                                    // ...

                                    // Reset for next VarSpec
                                    eError = nil


                    } else {
                        var operatorString = operator ? String(operator!) : "NUL"
                        var behavior = BehaviorTable[operatorString]!;
                        // Skip the operator
                        var skipCount = 0
                        if operator {
