add a fallback eltype() to make it easier to write generic iterators