Added support of typed indexes over open fields & indexes over nested fields Open indexes requires user to provide a type along with a indexed field name. This type would be enforced for all the indexed records, i.e. index cannot be created if in some records a field with provided name has a different type. Index-specific rewrite rules match provided type with the inferred types of other arguments in join\select statements and trigger index rewrite.
Nested indexes use the same semantics as the regular indexes, with exception that field could be located arbitrarily deep inside nested structure