Why such thing needed.
- Compiler often choose use only return function ( return 0; return 1 etc. ) as one implementation for multiple only return functions with different declaration.
As example calls to int A(int B, Int C) {return 0;} and int N(){return 0;} will be made to one function xor rax,rax; ret; - Functions that works with template instances parameters. One function can work with template instance of different types.
If decompiler and user can choose from list that function declaration used in particular function call (similar to choose union member) it can help to correct decompiler output.