fix CASE parser to detect end of file
change an unreachable error into an internal_error
support forward declarations of functions
handle utf-8 encoded data in strings
check type of function return value
have return statement jump to the end of the function
add some better detection of return flows