> Looking more it clearly seems this is a bug in `isSomeString `.

FYI, the handling of enums in traits is a very delicate subject. I disagree about making the change:

By default, it makes more sense to accept an enum of type T to match the trait isSomeT, then to have to explicitly test the `BaseType`.

Furthermore, by default, I think it also makes more sense to accept enums, and let the user explicitly turn them down if needed, then to reject them by default, and have the user opt-in by typing `isSomeString!(BaseType!S)`.

Finally, most of the time, accepting an enum is fine. The only reason `to` cares, is because it has a special branch for enums, where, say:

```D
enum S
{
    foo = "bar";
}

to!string(ss); //produces: "foo"
```
Whereas in most other functions, the code wants to interpret ss as "bar"