Contract would change to: fetchCase(httpClient)(caseId)(version = null)
When version is null, then latest/current version of case is retrieved, this is backward compatible with current use of the function.
When version is not null, then attempt is made to retrieve the matching version of the case.
Resulting output should have identical contract.