Add is_decimal/1 and fix macros