Purify public interface to coroutine prototype