     toJSON: () ->
         toString()
 
-###
-JSONNavigators return one more more nodes in the object graph given various queries
-###
+# JSONNavigator
+# -------------
+#
+# JSONNavigators return one more more nodes in the object graph given various queries
 class JSONNavigator
     @className = "JSONNavigator"
 

    toString: () ->
        "#{super}#{@path.toString()}"

### 
A FunctionSigil specifies that the original object had a function here

TODO: We should represent the function if possible and desired
###
class FunctionSigil extends JSONSigil
    @className = "FunctionSigil"


    
    toJSON: () -> @toString()

# NullSigil
# ---------
#
# The NullSigil signifies that the original model had a defined key for this property but
# no value.  Useful because it's nice to reconstruct objects faithfully accross the wire
# even when there were empty properties
class NullSigil extends JSONSigil
    @className = "NullSigil"

