chore(kernel/expr): remove unnecessary #if-#then-#else

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(kernel/expr): cache is_arrow result

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(library/type_inferer): bug in get_range method

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
fix(library/cast): bugs in Cast semantic attachment

TODO: revise cast semantic attachment.
It should be axioms instead of semantic attachments.

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>