Eliminate macro in favour of higher order functions
Created by: davecromberge
@Licenser not sure what you think of this vs the macro approach?
I was adding some more of the other functions along the way but I see you beat me to it
So this PR is just the changes to the comb_nif.