add.random(tree, n=NULL, tips=NULL, edge.length=NULL, order=c("random","input"))"phylo".NULL, will use length(tips).NULL, names will be suppliedNULL, and is.ultrametric(tree)==TRUE, then edge lengths will be assigned to keep the tree ultrametric. Note that if edge lengths are assigned and n>1, then the asssigned terminal edge lengths are not guaranteed as subsequent random tip addition could occur along the new terminal edge."phylo".
plot.phylo or plotSimmap may display with branches crossing. If so, the tree can be 'untangled' using untangle.
allFurcTrees, add.everywhere