But generally, if you always need ownership inside a method, you should just take the parameter via ownership. Otherwise it's super easy for them to pass a borrow when they didn't need to.
Yes, that does the same job semantically; this just allows the caller nicer syntax (and is a mostly-backwards-compatible change coming from function call with move or reference syntax, modulo type inference).