Do a more strict checking on the numeric types upon calling the equals op

should fix the test failure uncovered on tip via #18