hierarchy

fun <T> hierarchy(root: T, getChildren: (T) -> List<T>): Node<T, Nothing?>