lastiterate(itr) = foldl((_, y) -> y, itr)
or
lastiterate(itr) = applicable(last, itr) ? last(itr) : foldl((_, y) -> y, itr)
lastiterate(itr) = foldl((_, y) -> y, itr)
or
lastiterate(itr) = applicable(last, itr) ? last(itr) : foldl((_, y) -> y, itr)