Another example from the python bindings, on my computer:
PTransf16([0, 1, 255]).validate(3) # returns False
I'd have expected this to return true the documentation is not very illuminating on this point either. It seems to me that validate should return true if and only if every value in the underlying vector is in the range $[0, 16)\cup \{255\}$. Am I understanding this correctly @hivert ?