c, java and many other languages do not pay attention to return values.
int i = func() float f = func() int func() { return 5 } float func() { return 1.3
Allowing these may introduce problems. For example:
int i = func2(func()); int func() { return 5; } float func() { return 1.3; } int func2(float a) { return a; } int func2(int a) { return a; }
This is ambiguous.