optional refs can't work on qcc 4.4.*

This is caused by a compiler bug, which cannot be worked around. A similar bug to the one in gcc 4.4 series.