Fix lexing bug to allow `!` as def name