Is this typedef allowed?