Possibly more idiomatic here to use guards?
```
case Value when is_integer(Value) andalso Value > 0 ->
```