def toversionnumber: try tonumber catch 0; def toversion: split(".") | map(toversionnumber); def versionlt(rhs): ( . | toversion) < ( rhs | toversion );