You can look at what is there.
Three things are needed:
- How does the user specify it?
- What should the generated code be like to use?
- What does the interface trait look like?