Discovered by #322. This seems to be an outright incorrect behaviour in the JIT, and it's not an extreme edge case. ``` re> /(1|)b*1/ data> (1|)b*1 No match data> (1|)b*1\=no_jit 0: 1 1: ``` Note that the following cases operate as expected: ``` re> /1?a*1/ data> 1 0: 1 data> re> /(1?)a*1/ data> 1 0: 1 1: data> 1\=no_jit 0: 1 1: ```