is%(my-eq) should give a reasonable error message when my-eq doesn't return a boolean.
';' is a keyword, and should be highlighted the same was as 'end'.