I cannot recall ever passing an invalid UUID (or long id) into a function due to statically-knowable circumstances.
I generally agree that it's easy to over-do, but can be great if you have a terse, dense, clear language/framework/docs, so you can instantly learn about UserID.