internal: avoid allocation
internal: avoid allocation

In order to pass a value as a variadic argument, Go allocates a slice.
This slice needs to be on the heap if the method is an
interface method, as it is unknown whether the slice
will escape. This can be avoided by returning a pointer
instead of an interface.

Change-Id: I6f0cb9a0c512515815116f0d0a515813ee7afaf5
Reviewed-on: https://go-review.googlesource.com/30273
Run-TryBot: Marcel van Lohuizen <a22d082192f3ccf984644a4f482781f4c2d65180@golang.org>
TryBot-Result: Gobot Gobot <66cb808b70d30c07676d5e946fee83fd561249e5@golang.org>
Reviewed-by: Nigel Tao <58ae08b3356928ff9c67562b4719487d54fe8348@golang.org>

golang/text