Probably should conform to the signature of the method being overridden, so `final def hasNext` without `()`. @rxin ?