Use a flexible type variable for `listOf` to permit more flexible usage

This lets you generate lists of lists. You can also create custom
generators that produce arbitrary values, and then create a list of
them too :)