Extracted 'deparenthesizeArgument', used it where necessary
 #KT-6176 Fixed
DONT_CARE placeholder can be nullable after a substitution
Interpret it as DONT_CARE as well (not as an error type where an error was generated before)
 #KT-6175 Fixed
Fixed error reporting for special constructions (if, elvis)

Track whether an error was reported for sub expressions (like 'if' branches) or it should be reported for the whole expression
 #KT-6189 Fixed
Set the right call operation node for implicit invoke
Make a call for implicit invoke safe if an outer call is safe
Fix for 'if' special construct type

If one branch has Nothing type (contains 'return', etc.),
return result type of corresponding resolved call (it may depend on smart casts)
 #KT-6242 Fixed