Scope functions (`let`, `apply`, `also`, `run`, `with`) — how do they differ? | LetsGit.IT