
"""
Comparison
"""
from jcramda.core import CurriedF
from typing import Sized, Callable, Any, TypeVar, Union


_CT = TypeVar('_CT', covariant=True)
_CRT = TypeVar('_CRT', covariant=True)


def ilen_lt(n: int, sized: Sized = ...) -> CurriedF[bool]: ...
def ilen_le(n: int, sized: Sized = ...) -> CurriedF[bool]: ...
def ilen_eq(n: int, sized: Sized = ...) -> CurriedF[bool]: ...
def ilen_gt(n: int, sized: Sized = ...) -> CurriedF[bool]: ...
def ilen_ge(n: int, sized: Sized = ...) -> CurriedF[bool]: ...
def len_lt(n: int, sized: Sized = ...) -> CurriedF[bool]: ...
def len_le(n: int, sized: Sized = ...) -> CurriedF[bool]: ...
def len_eq(n: int, sized: Sized = ...) -> CurriedF[bool]: ...
def len_gt(n: int, sized: Sized = ...) -> CurriedF[bool]: ...
def len_ge(n: int, sized: Sized = ...) -> CurriedF[bool]: ...
def is_zero(n: int) -> bool: ...

def is_nan(x: Any) -> bool: ...
def attr_eq(attr_name: str, value: Any, obj: Any = ...) -> CurriedF: ...

is_a_dict: Callable[[Any], bool]
is_a_mapper: Callable[[Any], bool]
is_a_tuple: Callable[[Any], bool]
is_a_list: Callable[[Any], bool]
is_a_str: Callable[[Any], bool]
is_a_func: Callable[[Any], bool]
is_a_int: Callable[[Any], bool]
is_iter: Callable[[Any], bool]
is_simple_iter: Callable[[Any], bool]
is_seq: Callable[[Any], bool]
nostr_seq: Callable[[Any], bool]
