fix is_scalar to be implemented the same way as is_fundamental