Issue 6578 - Wrong type deduction for NewExp and __ctor with struct

Add the constructor's modifiers to the result type, instead of replacing them.
Merge pull request #666 from yebblies/issue6578

Issue 6578 - Wrong type deduction for NewExp and __ctor with struct