package dgm.trees; /** A tree * * Each node stores a value and a list of child trees. * * <pre> * .--(value)-->[] * / * (value)-+----(value)-->[] .--(value)-->[] * \ / * `--(value)------+----(value)-->[] * * </pre> * * @author wires * * @param <A> */ public interface Tree<A> { A value(); Iterable<Tree<A>> children(); }