Make `with` return the last expression from its branch

Thanks @rwtolbert for the bug report
Merge branch 'master' into pr/258