extraer tablas html de multiples con hxt

mi problema es que tengo que extraer todas las tablas de un documento html y ponerlas en una lista de tablas.

Por lo tanto, entiendo que el tipo de función final debe ser

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

por ejemplo con el siguiente 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>

Sé cómo recuperar todas las filas de un xmlTree (example1) o todas las etiquetas "tablas" que me proporcionan el tipo [XmlTree], pero no sé cómo asignar la flecha example1 dentro del resultado de test2.

Estoy seguro de que es obvio pero no puedo encontrarlo.

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)

Respuestas a la pregunta(1)

Su respuesta a la pregunta