No need to have two versions of this. Static assert when users specify ambiguous overloads. Currently overloads are discriminated only by parameter count, not types, so we need to enforce this.