Re-defining function definitions is now supported

If a return type, parameter count/type has changed for a function
definition - the conflict will remove the function definition, and
re-executing the script will define the function with the new signature.