eg:
struct MyString { char[] arr; alias arr this; } void getString( char[] str ){} MyString().split(";"); //oops, type mismatch getString( MyString() ); //fine, implicit conversion isSomeString!(char[]).writeln; //true isSomeString!(MyString).writeln; //false