Yes, I think that's the issue.
I built a reasonably popular typechecker for PHP, so I have some experience with the DX for these sorts of programs. I don't think it's good for a couple of ASCII characters and line breaks to be the difference between an acceptable and an unacceptable type annotation. It requires, as you say, for the OCaml type system to be burned into people's minds for them to immediately spot the issue.
In a similar context Rust will just say "function expected 5 arguments, you gave it 4" which has a very obvious remediation.