prefix output with ids and document the code
trees aren't deep as we collapse branches so we can afford more spacing