`have_title` is a built-in matcher and is inexact in that `have_title("foo")` will pass on "bar foo baz", so the implication is intentional.