pub fn similarity_filter<'a, I, T>(
    typ: &'a T,
    fields: &'a [I]
) -> Box<dyn Fn(&I) -> Filter + 'a>where
    T: TypeExt<Id = I>,
    I: AsRef<str>,
    T::SpannedId: AsRef<str>,