The older versions 'incorrectly' allowed a procedure that took a child type to
upcast into a procedure that takes a parent type. The solution is to either
internally convert the parameter into the child
let event = MouseEvent event
Run
or cast the procedure to the base
cast[proc(event: Event)](myProcHere)
Run
