Regarding the overloading, why not call these `gmatch1`, `gmatch2` and `gmatch3` and call it a day?
You could also unpack your seq using some of the answers proposed here: [https://stackoverflow.com/questions/31948131/unpack-multiple-variables-from-sequence](https://stackoverflow.com/questions/31948131/unpack-multiple-variables-from-sequence)
