Ah I see, you've somewhat replicated the work that Functions.fromFunc does ... but it's throwing warnings everywhere. I'd like this to be cleaned up.

You can replace all that boilerplate with the utility functions that already exist such as:

```java
return zip(Arrays.asList(o1, o2, o3), Functions.fromFunc(zipFunction));
```