I'm wondering if this method wouldn't be easier to read if written as follow

```
(for {
  hitFile <- Option(hit.cu.workspaceFile)
  if hitFile.exists
  f <- Option(file)
  if f.exists
}  yield hitFile == f) getOrElse false
```