pub fn same_or_none<T>(data: &[&T]) -> Option<T> where T: PartialEq<T> + Clone,
Utility fn that, given a list of references, returns Some(T) if they are the same, otherwise None