OVERLOAD FUNCTION Duplicate(X : INTEGER) RETURNS DEFAULT INTEGER RETURN 1 ENDFUNCTION OVERLOAD FUNCTION duplicate(X : INTEGER) RETURNS DEFAULT REAL RETURN 2.0 ENDFUNCTION FUNCTION Plain() RETURNS DEFAULT INTEGER RETURN 1 ENDFUNCTION OVERLOAD FUNCTION Empty() RETURNS DEFAULT VOID ENDFUNCTION OVERLOAD FUNCTION Ambiguous() RETURNS INTEGER RETURN 1 ENDFUNCTION OVERLOAD FUNCTION Ambiguous() RETURNS REAL RETURN 2.0 ENDFUNCTION OVERLOAD FUNCTION Typed() RETURNS DEFAULT INTEGER RETURN 1 ENDFUNCTION OVERLOAD FUNCTION Typed() RETURNS REAL RETURN 2.0 ENDFUNCTION DECLARE Flag : BOOLEAN Flag <- Typed() OUTPUT Ambiguous() OVERLOAD FUNCTION Clash(A : STRING, B : CHAR) RETURNS DEFAULT INTEGER RETURN 1 ENDFUNCTION OVERLOAD FUNCTION Clash(A : CHAR, B : STRING) RETURNS REAL RETURN 2.0 ENDFUNCTION OUTPUT Clash("a", "b")