         return no
 })
 
-exports.proto = proto = Object.create(null)
-
-proto.create = ->
+exports.proto = gProto = Object.create(null)
+
+gProto.create = ->
     defs = @definitions
     rv = Object.keys(defs).reduce((rv, key) ->
         rv[key] = if _.hasProperty(defs[key], 'defaultValue')

    , Object.create(null))
    return rv

proto.coerce = (aObject) ->
    defs = @definitions
    rv = Object.keys(aObject).reduce((rv, key) ->
        value = aObject[key]

        })
        return definitions

    extend = (aParent, aChild) ->
        defs = Object.create(null)

        defs = Object.keys(aParent).reduce((defs, key) ->
            return define(defs, key, aParent[key])
        , Object.create(null))

        defs = Object.keys(aChild).reduce((defs, key) ->
            return define(defs, key, aChild[key])
        , defs)

        return defs
