@xedin, could this be handled with your Type inference from default expressions pitch?
struct PassthroughSubject<Output, Failure: Error> {
fun send(_ value: Output = ()) { ... }
}
(Assuming PassthroughSubject did not already provide the naked send()
as a specific overload.)