     # triangle a new site is in.
     constructor: (args...) ->
       @triangulation__ = args[0] || triangulation(outer.vertices())
-      @position__      = args[1] || []
-      @sites__         = args[2] || new HashSet()
-      @children__      = args[3] || new HashMap()
+      @position__      = args[1] || new IntMap()
+      @nextIndex__     = args[2] || 0
+      @sites__         = args[3] || new HashSet()
+      @children__      = args[4] || new HashMap()
 
     # The method `toSeq` returns the proper (non-virtual) triangles contained
     # in this triangulation as a lazy sequence. It does so by removing any

# package system).
if typeof(require) != 'undefined'
  require.paths.unshift '#{__dirname}/../lib'
  { recur, resolve }   = require 'functional'
  { Sequence }         = require 'sequence'
  { HashSet, HashMap } = require 'indexed'
else
  { recur, resolve, Sequence, HashSet, HashMap } = this.pazy

# ----


      new T.constructor(
        T.triangulation__.minus(a,b,c).minus(b,a,d).plus(b,c,d).plus(a,d,c),
        T.position__,
        T.nextIndex__,
        T.sites__,
        T.children__.plus([T.find(a,b,c), children], [T.find(b,a,d), children])
      )
