add finite check: is_integer, is_odd, is_even