Text this: Efficient algorithms for listing combinatorial structures /