Como layout de uma hierarquia não-árvore com D3

O D3 tem uma variedade de layouts para gráficos direcionados que são árvores estritas, como as seguintes:

A
|\
B C
 / \
D   E

Eu preciso desenhar uma hierarquia de nós que não é uma árvore, mas é um gráfico acíclico direcionado. Este é um problema para um layout de árvore, porque vários dos ramos convergem:

A
|\
B C
 \|
  D

Alguém sabe de um layout D3 para hierarquias gerais? Ou, alternativamente, alguns hackers inteligentes para o treelayout existente? Eu notei que o GraphVis lida bem com essa situação, mas a D3 produz um gráfico que melhor se adapta aos requisitos aqui.

questionAnswers(4)

yourAnswerToTheQuestion