Simpler covariant PeekIterator

Much simpler (and hacky) than #73. 
stop this madness