Creating immutable tree data structures in Ruby | Hacker News Reader