Дерево B + имеет связанные узлы листа. Просмотр структуры указателя дерева B + в качестве ориентированного графика не является циклическим. Но игнорируя направления указателей и рассматривая их как неориентированные связанные узлы листа, создает циклы на графике.
В Haskell, как можно было бы построить лист как дочерний элемент родительского внутреннего node и одновременно следующую ссылку из соседнего листа node. Как можно сделать это с помощью алгебраических типов данных Haskell? Похоже, что Haskell ADT вообще создает циклические структуры, которые трудно выразить.