JSON Model Grammar
     
         JSON   := (MAP | ARRAY)
         NODE   := (MAP | ARRAY | SCALAR)
         MAP    := (STRING, NODE)*
         ARRAY  := NODE*
         SCALAR := (string | number | boolean | null)
     
             YAML Model Grammar
     
         YAML := NODE*
         NODE := (typed)(MAP | ARRAY | SCALAR | ALIAS)
         MAP := (NODE, NODE)*
         ARRAY := NODE*
         SCALAR := typed_string