Switching over to handle optional params. Change from Guaranty to Bind.

This is the new development branch. It will not be merged in for a while but I am adding it as a pull request so people can see what is going on.