This too would need a structural recursion.