pub fn equals_optional<T, F>(a: &Option<T>, b: &Option<T>, equals: F) -> boolwhere F: FnMut(&T, &T) -> bool,