[I6] malformed @read_char opcode -- should warn/error at compilation?

While trying out the exercises in DM4 section 42 [https://inform-fiction.org/manual/html/s42.html], I accidentally wrote a function with a malformed call to @read_char having the wrong type of argument for its third parameter, which triggers a fatal error. Here’s a minimal example of the type of error:

[ Main kp n ;
    print ">";
    @read_char 1 10 3 -> kp; ! WRONG
];

I understand that this is a completely incorrect call, but should this compile without a warning or an error? I can see allowing a variable as the third operand because it could conceivably hold a routine, but a constant here seems like it will guarantee a fatal error.

Note that I could only test as far as 6.33, so my apologies if this no longer applies to the current version. (…but I did check the current release notes and didn’t see anything that looked like it covered this.)