For clarity, consider making tokens a set here as well.  It took me a bit to realize it was being returned as a set from here.