Explaining conditionals and functions