Hello Max,
I am wondering whether the type inference you implemented is incremental or not. Incremental means for a user defined function, we may do type inference on it without considering argument type, storing the inference result. When the function is called, we could get data type of parameters and do further inference based on previous semi-finished result.
Thanks a lot