That then gets used in the enum expression below -- it looks at the return value from the selected overload of test and checks whether it is equal to 1 (if it is, it means the function returning char was selected, but otherwise, the function returning long was selected).