/* @todo: !!! Maybe instead of compound exprs like this: [4]Thing{1,2,3,4} Do it like this [4]Thing(1,2,3,4) [4]Thing([0]=1, [3]=3) Thing(a=1, b=2) unifying the call expression and compound expression seems more unified and better for coherence but more abigous and probably harder to implement */ other_func :: () a_val := recursive_lambda recursive_lambda :: (thing: int) in_val := recursive_lambda some_value := thing + const_in_lambda const_in_lambda :: 10 not_const := val + 10 val := 10 DEPENDENCE :: CONSTANT_VAL CONSTANT_VAL :: 10