don't break the function when raise a bad return value error
ensure that function still work after raise an error
add the Real type
Document the new sintax for define functions that do type checking
remove the idea of the functions because the implementation is started