Unless I misunderstand, this will always create 3-tuples. I was hoping to avoid always generating fixed-size tuples. The previous approach wasn't ideal, of course, because it created such _huge_ structure and as you went 'down' the generated structure everything got smaller. 

Perhaps this is just something worth putting into an issue and moving on? Your call; I'm happy with either.