hm, is the semantics that *if* extra_filters is set, it must contain a child? what does the change from prototype scalar to children that are scalar mean?