possibly error in return statement: ==== bool fn1(Object o1, Object o2 ) { return o1.opEquals(o2); // opEquals return int } ==== compiler writes: "Error: cannot implicitly convert expression (o1.opEquals(o2)) of type int to bool" But: ==== bool fn2() { return 1; } ==== compile ok! DMD 1.039