>>> argless functions with default return values argless_default_default: 0 argless_boolean_default: FALSE argless_double_default: 4 argless_integer_default: 4 argless_string_default: bar >>> argless functions with explicit return values argless_default_set: 5 argless_boolean_set: TRUE argless_double_set: 9.2 argless_integer_set: 127 argless_string_set: foobar >>> Call chains first: 5 second: foo >>> Local variables defined_globally on exit: 2 defined_locally on exit: 3 0 1 >>> Global variables get_really_global returned: 2 get_really_global returned: 4 really_global is: 3 >>> Arguments with annotations param_b is TRUE param_d is 3.4 param_i is 5 param_s is hello 0 >>> Arguments with types b is FALSE d is -1 i is 2 s is foo 0 >>> Type promotion in arguments d is 5 i is 3 0 >>> Type promotion in return values 3 >>> Recursion entering level: 3 entering level: 2 entering level: 1 0 leaving level: 1 0 leaving level: 2 0 leaving level: 3 0