Let's look at the documentation for yank. From C-h f yank RET:
Reinsert ("paste") the last stretch of killed text.
Oh, so yank doesn't just return the last killed text; it inserts it too. So you can simply run (yank) to put that text into your buffer.
So why are we seeing the wrong-type-argument error? Let's run (yank) in IELM, so we can see ...