Expression : Expression always create value and can be set wherever a value is expected like function arguments or value assigning in a variable.
val 2+val fun("3","2")
This is statement
This is expression(function as expression)
So you can put expression in where statement is require
But you can not put statement in where expression is require
In next article i will describe why this two things are very important.