Infer function return type based on input types

Original message was deleted