     
 }
 
+
+extension Tag {
+    
+    var stringForEmit: String {
+        switch self {
+        case .None: return ""
+        case .Explicit: return "!"
+        case .Custom(let name): return "!" + name
+        case .HandledCustom(let tag): return "!" + tag.handle + "!" + tag.name
+        case .Standard(let name): return "!!" + name.rawValue
+        case .URI(let content): return "!<" + content + ">"
+        }
+    }
+    
+}
+

            c_emitter = yaml_emitter_t() // Clear.
        }
        
    }
    
}

                cleanup()
            }
            //TODO: Emit Stream and Nodes.
            
            var event = yaml_event_t()
            yaml_stream_start_event_initialize(&event, YAML_UTF8_ENCODING)
            yaml_emitter_emit(&c_emitter, &event)
            yaml_stream_end_event_initialize(&event)
            yaml_emitter_emit(&c_emitter, &event)
            
            return output
        }
        
