adds expressions, declarations, closures, nested functions