extrair múltiplas tabelas html com hxt

Meu problema é que eu tenho que extrai todas as tabelas de um documento html e colocá-los em uma lista de tabelas.

Por isso, entendo que o tipo de função final deve ser

getTable :: a [XmlTree] [[String]]

por exemplo, com o seguinte xml:

<table class="t1">
<tr>
    <td>x</td>
    <td>y</td>
</tr>
<tr>
    <td>a</td>
    <td>b</td>
</tr>
</table>
<table class="t2">
<tr>
    <td>3</td>
    <td>5</td>
</tr>
<tr>
    <td>toto</td>
    <td>titi</td>
</tr>
</table>

Eu sei como recuperar todas as linhas de um xmlTree (example1) ou todas as tags "tabelas", que me fornece o tipo [XmlTree], mas eu não sei como mapear a seta example1 dentro do resultado de test2.

Tenho certeza que é óbvio, mas não consigo encontrá-lo.

test2 ::  IO [[XmlTree]]
test2 = runX $ parseXML "table.xml" >>> is "table">>> listA getChildren

example1 ::  ArrowXml a => a XmlTree [String]
example1  = is "table" /> listA (getChildren >>> is "td"  /> getText)

questionAnswers(1)

yourAnswerToTheQuestion