InputRange!(ElementType: T) adder(T)(T[] data...); Name: signatures, traits or protocols I haven't got around to writing up an actual article proposing it but here is a write up: https://gist.github.com/rikkimax/826e1c4deb531e8dd993815bf914acea#signatures