[Haskell-cafe] Heterogeneous Data Structures - Nested Pairs and functional references