Actually, you could make the default by-name (`=> Long`) so the side-effecting one could be written
```scala
 paramOptionalLong(param), throw new InvalidParameter(s"Parameter $param must be specified"))
```