           view = @createView p.element
           $idx = @collectionViews[p.index]?.$view ? @$marker
           view.render $idx
-          @collectionViews.insertAt p.index, [view]
+          @collectionViews.splice p.index, -1, view
         when 'removeAt'
           if view = @collectionViews[p.index]
             view.detach()
-            @collectionViews.removeAt p.index
+            @collectionViews.splice p.index, 1
 
 
 #  Iterator item

      throw new NonIteratableObjectError @node.iterator, @collection

    @collection.forEach @addOne
    @collection.observe @update

  addOne: (item) =>
    view = @createView item

    iv.init node, $marker, $parent, obj

  init: (@node, @$marker, @$parent, @obj) ->
    @collectionViews = []

    binder = new Leaf.Template.Binder @obj
    bindingObj = binder.getBindingObject @node.localeBindings
