string interpolation
val foo = 1
var bar = "one is $foo"
var baz = "two is ${foo + 1}"
Unit is a placeholder return value for functions that don't actually return a meaninfgul value. It is the default return type for any function if one is not specified explicitly. Nothing is a placeholder return value for functions that should never actually return (ie they throw an exception or have infinite loop). Good SO discussion on differences.