I don't think the problem is here since

```
>>> list('ft')[True]
't'
>>> list('ft')[False]
'f'
```

It was `p[2]` that was giving a problem, wasn't it? Maybe I'm wrong...let's see with the tests.