Hi, I have this script where I use the lookup operator to perform a unary lookup: xquery version "3.1"; declare namespace array = "http://www.w3.org/2005/xpath-functions/array"; let $array := [] return ( empty($array!?*), (: returns false :) empty( for $i in 1 to array:size($array) return $array($i) ) (: returns true :) ) I'm curious that the first expression returns false even though it should be equivalent to the second expression, if I read the XQuery spec [1] right: If the context item is an array: If theKeySpecifier <https://www.w3.org/TR/2017/REC-xquery-31-20170321/#doc-xquery31-KeySpecifier>is a wildcard ("|*|"), theUnaryLookup <https://www.w3.org/TR/2017/REC-xquery-31-20170321/#doc-xquery31-UnaryLookup>operator is equivalent to the following expression: for $k in 1 to array:size(.) return .($k) But maybe I'm missing something. I'd be glad if you could help. Best regards, Sebastian Zimmer [1] https://www.w3.org/TR/2017/REC-xquery-31-20170321/#id-unary-lookup -- Sebastian Zimmer sebastian.zimmer@uni-koeln.de <mailto:sebastian.zimmer@uni-koeln.de> CCeH Logo <http://cceh.uni-koeln.de> Cologne Center for eHumanities <http://cceh.uni-koeln.de> DH Center at the University of Cologne Twitter Logo <https://twitter.com/CCeHum>@CCeHum <https://twitter.com/CCeHum>