If x is a scalar value, the function returns a strictly negative integer related to the type of the argument (that is, two scalar values of the same type gives the same result).

If x is a map or a tab, the function returns the number of elements in its argument (which is a positive integer).

If it is a nim, it returns the number of breakpoints of the nim (which is not the dimension of the nim). Note that a nim with zero breakpoints is the result of a wrong definition.

See also @shape and Predicates @!=,    @&&,    @||,    @<=,    @<,    @==,    @>=,    @>,    @approx,    @arch_darwin,    @arch_linux,    @arch_windows,    @between,    @empty,    @find,    @is_bool,    @is_defined,    @is_exec,    @is_fct,    @is_float,    @is_function,    @is_int,    @is_integer_indexed,    @is_list,    @is_map,    @is_nim,    @is_numeric,    @is_obj,    @is_obj_xxx,    @is_prefix,    @is_string,    @is_subsequence,    @is_suffix,    @is_symbol,    @is_undef,    @is_vector,    @member,    @occurs