Unbreak guards handling for the do/while loop.
Allow interfaces in functions