Which function does this end up calling? The assert passes, so I'm confused.

Also, according to spec `opEquals` must be typed as either:

```D
bool opEquals(ref const S s) {  }
bool opEquals(const S s) {  }
```

So shouldn't the compiler error that opEquals definition?