allows any traversable