Refactor to use checkProperType (#131, #98)
Refactor to use checkProperType (#131, #98)

This fixes the code duplication and inconsistency discussed in #98 and
fixes the oddity discussed in #131.

Maybe we want to change that behavior to a different coherent behavior
in the future, as discussed in #98, but I feel that's not a reason to
leave things incoherent.

Toxaris/pts,Blaisorblade/pts