 
     updateHash = ->
       h = obj.value()
-      window.location.hash = h unless window.location.hash == h
+      window.location.hash = h unless window.location.hash is h
 
     dvl.register({fn:updateHash, listen:[obj], name:'hash_changer'})
     return

  setGen: -> this
  gen: ->
    that = this
    if dvl.typeOf(@v) == 'array'
      (i) -> that.value[i]
    else
      () -> that.value
  genPrev: (i) -> @gen(i)
  len: ->
    if dvl.typeOf(@v) == 'array'
      @v.length
    else
      Infinity

      return @vlen
    else
      if @v?
        return if dvl.typeOf(@v) is 'array' then @v.length else Infinity
      else
        return 0

