a8339a34c1 Use `FunctionLike` contract instead of union of function-like concrete implementations (#4241)
a8339a34c1