We could do that, but to me, that adds a bit of clutter to the design.  While it's true that these types of errors are not caught at compile time, they are caught at build time when the tests fail.  A positive side-effect is that it raises the necessity on having good service layer tests as well, otherwise the error wouldn't be caught til run-time.