In other words, the algorithm is,
explain_box(box) { if(|box.boxes| > 1) print(boxes) else explain_box(box.boxes[0]) }
which works for most real-world concepts, but gets into an infinite loop if the concept is irreducible.
In other words, the algorithm is,
explain_box(box) { if(|box.boxes| > 1) print(boxes) else explain_box(box.boxes[0]) }
which works for most real-world concepts, but gets into an infinite loop if the concept is irreducible.