I have a function defined like

```
def counter(x: Int) = {
  var i = x
  () => {
    i = i + 1
    println(i)
  }
}

val count = counter(0)

```

So `count` is a function taking no parameter returning Unit. Then the parenthesis could be omitted when calling `count`. But if I call it by just saying `count`, `i` in fact will not be added and nothing happens. In the meantime, a compiler warning will be given like "A pure expression does nothing you may be omitting the parenthesis". 

If I call it with parentheses like `count()`, everything is all right and increased `i` will be printed.

Why saying `count` doesn't work? Thank you.