typedef enum { NO = 0, YES } BOOL; @extern BOOL sel_is_mapped (SEL aSel); BOOL (SEL aSel) sel_is_mapped = #0; @overload int foo(int x) { return 1; } @overload int foo(float x) { return 2; } int main() { //FIXME fails on implicit cast of double to float return !(foo(5) == 1 && foo (5.0f) == 2); }