If you could, that'd be great! (I want to know to further my knowledge and in the end help more people here. If anyone knows how to explain it, please do!)
A coroutine is essentially a new thread within a script. This allows you to have multiple loops at the same time and to continue a script while also yielding, amongst other things. For example:
local loop = coroutine.create(function() while true do wait() print("Hello") end end) coroutine.resume(loop) while wait() do print("World!") end --Both loops here would run simultaneously