Das hängt doch auch stark von der Art und Weise ab wie deine Sachen konsumiert werden. Über REST? Mit Dingen wie "nil" und Assertions hört sich das so an als gehe es direkt um eine
DLL.
Wenn Geschwindigkeit dir so wichtig ist dann biete doch einfach zwei Varianten an: Eine mit Validierung, eine ohne. So etwas sieht man ja sogar in der Delphi-
RTL, beispielsweise TBitConverter.From<T> vs. TBitConverter.UnsafeFrom<T> (
DocWiki).
Dann kann jeder nehmen was er für richtig hält und sich selbst braucht man auch keine Vorwürfe machen dass man die Eingaben nicht vernünftig geprüft hätte.