pub fn tuple<T, I>(iter: I) -> Option<T>where T: TupleElements, I: Iterator<Item = T::Element>,
assert_eq!(tuple("hello world".split(' ')), Some(("hello", "world")));