Yes, it can. In fact, it had a bug where if the source type had `opCast` and the target had a constructor, there would be an ambiguity (this is https://github.com/D-Programming-Language/phobos/pull/1864 that this pull depends on). I guess `opCast` now only needs to stay to avoid breaking existing code that casts directly.