Refactor slice
Move specializations of iterator_traits into std