fn foreach<F>(&mut self, mut f: F)

where F: FnMut(Self::Item) {

for i in *self {