A common mistake, from which I've seen bugs arise, is to assume that this is syntactic sugar for `do_something; return`. However, the `and return` form only returns if `do_something` returned a truthy value. Sometimes programmers are in the habit of using `and return` even when the first expression is a statement whose return value is not specified. (Such as `render` in Rails.)

So `do_something and return` should only be used if the return value of `do_something` is *documented*, and if you only want to return when it returns truthy.