This can happen when a template with two parameter types is instantiated with a
single type. The fix would only be valid for this instantiation but fail for
others that rely on an implicit type conversion.
The test cases illustrate when the check should trigger and when not.
nit: maybe just return the condition (instead of using if(...) return true)? that is
return VarTmpType->... != ...