Minor: fix name of custom tag
IVar change: replace mutable waitlist with cons-based waitlist allocated on the stack