Coroutine couldn't be started! [BOO]

Hi! I’m a newbie and think BOO’s great.
So I have some test try to put a Coroutine Function into a Variable.
What’s the “Coroutine couldn’t be started!”. Please?

There script has been copyed and changed form Unity3d Document.
http://unity3d.com/support/documentation/ScriptReference/MonoBehaviour.StartCoroutine.html

import UnityEngine
import System.Collections

class Parent (MonoBehaviour): 
	public cmd as callable(single) as IEnumerator 
	
	def Awake ():
		cmd = WaitAndPrint
		return
		
	def Start ():
		print(('Starting ' + Time.time))
    
		StartCoroutine('cmd', 2.0)
                //Coroutine 'cmd' couldn't be started!
                //UnityEngine.MonoBehaviour:StartCoroutine(String, Object)
                //Test:Start() (at Assets/Test.boo:15)

		print(('Before WaitAndPrint Finishes ' + Time.time))

	def WaitAndPrint(waitTime as single) as IEnumerator :
		yield WaitForSeconds(waitTime)
		print(('WaitAndPrint ' + Time.time))

Any help will be deeply appreciated.

I am not writing in Boo, but shouldn’t it be one of these:

StartCoroutine('WaitAndPrint', 2.0F);

or

StartCoroutine( cmd(2.0F) );

Thanks all of you.

Danny is right.
I thought that’s the different usage by the same function.
It’s seems I was wrong.

BTW, I known C# has more users.
My chosen is follow my heart :slight_smile:
I will try it until forced to face some big problem.

Best regards!