Plural verb used after 'type'

Today I was reading a programming book and I encountered the following sentence (emphases mine):

In this case, for example, the type that all three compilers report for param are incorrect.

I'm not an English native speaker but since the very first moment I went through that statement I felt like something didn't flow smoothly:

the subject of the sentence (the type) seems to be singular, however the verb that refers to it (are) is plural. Am I missing anything here?


Solution 1:

There are different interpretations:

  1. All three compilers report the same type, which is incorrect. In that case it should be singular is.

  2. Each compiler reports a different type. So all three types are not correct, but they are not the same either. In that case are is fine.

While each compiler only reports a single type, there are three of them, and so the resulting list of types might contain several different ones or just one and the same.

UPDATE: The text (Scott Meyers' Effective C++) continues with the sentence Furthermore, they're essentially required to be incorrect [...], so with a plural reference. This indicates to me that the author indeed means to refer to the three types; but uses the singular type as each compiler only reports one. It is an interesting usage, though types would probably have been less confusing in this instance.