[] (LazyArray)

    # File lib/extlib/lazy_array.rb, line 96
      def [](*args)
        index, length = extract_slice_arguments(*args)

        if length == 1 && args.size == 1 && args.first.kind_of?(Integer)
          return at(index)
        end

        if index >= 0 && lazy_possible?(@head, index + length)
          @head[*args]
        elsif index < 0 && lazy_possible?(@tail, index.abs - 1 + length)
          @tail[*args]
        else
          lazy_load
          @array[*args]
        end
      end