Const keyword
The const keyword in water is used when defining a variable, and declares that the variable will never be changed. Variables defined in this way, whose definitions are also compile-time constants, can be used in template expressions.
Example
The following example calculates a factorial using a template function. If you remove "const" from the variable's declaration, or make its definition not constant at compile time, then the code will fail to compile, because template functions require that their generic parameters are compile-time constants.