Look at remaining implementations and see if we can delete code. v3 couldn't use generator functions which is something we can use now.