結果 : typescript different return type based on optional parameter