func CreateDot(node dst.Node, out io.Writer) error {
	root := NodeToGraphNode(node)
	dotGraph, err := WalkGraph(root)
	if err != nil {
		return err
	}
	_, err = out.Write([]byte(dotGraph))
	return err
}
CreateDot creates a dot representation of the graph associated with a dst node.
package main
import (
	"fmt"
	"html"
	"io"
	"strings"
	"github.com/dave/dst"
)
type GraphNode struct {
	Type  string
	Value string
	Node  dst.Node
	Edges []*GraphEdge
	level int
	seq   int
}
func (n *GraphNode) id() string {
	return fmt.Sprintf("%s_%d_%d", n.Type, n.level, n.seq)
}
type GraphEdge struct {
	Dest         *GraphNode
	Relationship string
}