     #  aValue = JSON.parse aValue
     if @$type.strict
       if aValue?
-        for k, t of @$type.attributes
+        for k, t of @$type.attributes.value()
           continue if k[0] is '$'
           v = aValue[k]
           @[k] = v if v isnt undefined and t.isValid v


  constructor: ->return super
  _initialize: (aValue, aType, aOptions)->
    for k, attr of @$type.attributes
      continue if k[0] is '$'
      vName = attr.name || k
      attr = extend {enumerable: true}, attr, (k,v)-> v isnt undefined

  _toObject: (aOptions)->
    aValue = @
    result = {}
    vMeta = @$type.attributes.value()
    vStrict = @$type.strict
    for vName in getObjectKeys aValue
      continue if vName[0] is '$'
