add type coercion into duplicate check
Reason:
Snippet and example from Giordon:
with contextlib.suppress(ValueError):
duplicate = type(pdbValue)(localValue) == pdbValue
>>> a = 3.4
>>> b = '3.4'
>>> type(a)(b)
3.4
>>> c = 'fake'
>>> type(a)(c)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: could not convert string to float: 'fake'