split internal isCompatibleValue in isCompatibleArgumentValue and isCompatibleDefaultValue to improve readability of the code (better separation of concerns)
reduced long lines to 120 characters except for some well defined exceptions