py3-8: raise your own exceptions
py3-9: multi mixed arguments
py3-10: a inclusive_range function return generator,

and use tuple for different number of arguments