implements unique algorithm

Could actually `std::move` `begin` into `adjacent_find` here. Not a big deal.