Only for non-void