Add support for a list of functions that should not be used and calls to empty on function results

No I was actually trying to merge in changes made. Not having used github before I didn't relise changes I made after creating the pull request would be included as well