ref: http://stackoverflow.com/questions/10606734/what-are-recursive-arrays-good-for https://www.ruby-forum.com/topic/128989 http://archive.railsforum.com/viewtopic.php?id=2327