That makes me wonder how much of "bad chatbot" implementations are just poorly designed dialog trees? It seems like a domain-specific chatbot could be really good, if designed properly, but it's probably as much of an art as it is a science and most implementations probably don't go deep enough.