fn either_none_or_same<T: PartialEq>(a: &Option<T>, b: &Option<T>) -> bool