Ruby really sucks at recursive functions. This could make us blow our stack if the deps are really deep.