   # found in the parsed output in order to prepare the context for the
   # `compile` operation to proceed smoothly.
   ###
-
-  extractKeys = (x) -> if x instanceof Object then (Object.keys x) else [x].filter (e) -> e? and !!e
-
-  fork: (f, args...) -> f?.apply? (new @constructor), args
-
   preprocess: (schema, source={}, scope) ->
     unless scope?
       # first merge source extension using parent extensions if available

  # return synthesized object hierarchy.
  ###

  compile: (schema, source={}, scope) ->
    return @fork arguments.callee, schema, source, true unless scope?
    @source = source

    schema = (schema.call this) if schema instanceof Function
    schema = (@preprocess schema, source) unless source.extension?
    unless schema instanceof Object
      throw @error "must pass in proper 'schema' to compile"


    res.context = context
    return res

  normalize = (obj) -> ([ obj.prf, obj.kw ].filter (e) -> e? and !!e).join ':'

  ###
  # The `parse` function performs recursive parsing of passed in statement
  # and sub-statements and usually invoked in the context of the
