The names of our UDFs are sometimes Get<Something>UDF and sometimes just <Something>UDF, we should find a standard way to do that.
The UDFs sometimes test for null values being passed to them, and sometimes not. It seems there's some confusion about how to actually do this properly.
The UDFs sometimes use the Generic UDF Helper class to check arguments on initialize, and sometimes they duplicate that logic. We should clean this up.