Take a function that has two signature overloads:
type f64 = number; function add(): f64; function add(x: f64, y: f64): f64; function add(x?: f64, y?: f64):