Maybe use the function guards?

```elixir
fn
  entry, { list, count } when count > 0 -> { [], count -1 }
  entry, { list, count } -> { [entry|list], count }
end
```