There are too many problems in tailport|headport attribute

Since I knew there were tailport and headport attributes, I felt that this attribute would be difficult to deal with when faced with many extreme scenarios, so I immediately wrote down some extreme scenarios I could think of, and surprisingly, I used This property can easily create many buggy draws, like this:

digraph {
    ranksep=0
    // Puzzling line segment draw.
    a:nw->b:se
    a:nw->b:se
    
    // Edge does not start from n.
    c:n->d
    
    {
        rank=same
        // Edge cross node?
        // But in the following line segments of the same type, the port is e to avoid crossing the node.
        e:se->f:ne    
    }
    
    {
        rank=max
        // The port is e to avoid crossing the node, but as above c:n->d, edges does not end from e.
        h:se->i:e
    }
    
    // Self line g:w->g:e not use port attribute, but if the order of g:w->g:e and g->g is reversed, this will work fine.
    g:w->g:e
    g->g
}

I think this must be caused by some not very good drawing strategies. Developers are tired of dealing with various scenarios. The strategies that may be used in each scenario do not have some common features, which can easily cause problems.

Supplementary scene, parallel edges missing

digraph G {
    // Parallel edge missing
    a:s->b:n
    a:s->b:n
    a:se->b:ne
    a:se->b:ne
    a:sw->b:nw
    a:sw->b:nw
    a:w->b:w
    a:w->b:w
    
    c:se->d:nw
    c:se->d:nw
    // If this edge is deleted, the parallel edge is restored
    c:se->d:nw[label="hhhh"]
}

You might add your examples to this issue: Improve the routing of loops and, for dot, flat edges. Complete or replace the handling of flat edges between adjacent nodes. (#2029) · Issues · graphviz / graphviz · GitLab

I am not exactly sure what the request/question is here, but yes, there are numerous headport/tailport bugs.