Should consider: * returning a named type * returning a `std::pair` and `std::tuple` * consider pros and cons of each