Extract return type of functions from metadata
Based on a quick and simple test:

ALL_ARGUMENTS

select * from
all_arguments
where
position = 0
and data_level = 0
and argument_name is null
and data_type = 'REF CURSOR';


position 0 is the first argument of a program unit. If it does not have a name/level (data_level = 0 and argument_name is null), then it is the return argument of the function, and you are looking for sys_refcursor type, which is displayed as REF CURSOR in this view.