Style nitpick: The standard format in phobos is to put a space after the if and before the first parenthesis:

```D
    if (!is(T1 == bool) && !is(T2 == bool))
```