`lists(node())` can be expressed as `[node()]`.  Also, I think just using `ok | false` for the return type is clearer than using spec overloading here.