Add bad case that share variable
Add ref (not used)
add minimum syntax
Implement ref and adapt tests.
Complete ref impelment