add unimpaired
add repeat
get rid of silliness from early Rust