Issue 8309 - ICE in typeMerge on 'void main(){auto x = [()=>1.0, ()=>1];}'

https://issues.dlang.org/show_bug.cgi?id=8309

And tweak `arrayExpressionToCommonType` function to avoid redundant messages.