Merge branch 'clean_ast'
check procedures don't have a return statement

and add note for homogeneous AST