bind arg checking refactor

Can you rewrite it in a way which does not create an intermediary object. This will create GC pressure and this method is called a lot.