Design Q: Order of arguments: input data and algorithm type

I would tend to put the type first, for the multi-args reason among others. This also seems to be what Base does in methods such as convert(T, x) and reinterpret(type, A)