nth is internally defined as the nth static method of the class clojure.lang.RT. That method takes an argument of type int as the index, whereas the huge index you supplied doesn't fit in an int and is normally a BigInteger. I guess that when you pass that to a Java method which expects an int, it gets converted with .intValue, which for your particular number produces a negative value, which is indeed "out of bounds" from the point of view of nth.
As for a discussion of the design tradeoffs involved, I am not competent to discuss those. :-) Sincerely, Michał -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en