- fn is specified by an interface (IFn), taking/returning objects
- fns must still satisfy that interface
- How will callers know about primitive params/return, and how to invoke?
- New :static support
- can we decouple from static? Overloading
- we leverage in Java root ops (e.g. Numbers) but don't expose
- even? as an example of something that would have to be primitivized in order to be efficient with all arg types