Incompatible types

Q: 3; "three"
E: Incompatible types.

Some operations have multiple arguments that must be the same type, or at least share a base type. This example uses the plural (;) operator, which requires a list of objects with the same type. This same example works fine, however, with a tuple operator (,):

Q: 3, "three"
A: 3, three

Another example is with an if/then/else statement. This returns either the expression after then or else, but both must return the same object type. For instance:

Q: if exists regapp "Besconsole.exe" then version of regapp "Besconsole.exe" else 
"Not Installed"
E: Incompatible types.

The error is generated because the then expression returns a version, while the else expression returns a string. Make sure that both statements return the same type by converting the version to a string:

If exists regapp "Besconsole.exe" then version of regapp "Besconsole.exe" as string 
else "Not Installed"