Task.delay warning when rescheduling thread

I receive a message when attempting to expedite a delayed task: task.delay should not be called on a thread that is already 'delayed' in the task library

Reproduction:

local function Dummy():nil
	print("Dummy function")
end
local DelayedThread:thread = task.delay(5,Dummy)
task.delay(1,DelayedThread)

Expected behavior

I expect to be able to cleanly adjust the scheduled execution time with no warning.

This seems rather expected to me and the set of warnings on scheduled threads intentional.

Two more examples:

local thread = task.spawn(function()
    task.wait(1); print("Dummy function")
end)
task.delay(2, thread)

local thread = task.defer(function()
    print("Dummy function")
end)
task.delay(2, thread)

We can task.cancel() the thread and schedule again though.

The warning here implies to me this is intended. Personally, I would not expect this to reschedule, when I first saw the code I was expecting the thread to be run a second time.

If you want native support for rescheduling, I suggest a feature request in #feature-requests:engine-features.