I don't like checking for things in a function that's called ConstraintGetSyntax. ConstraintGetSyntax should just return NULL if it cannot lookup the corresponding syntax, then there should be a function called PromiseCheckConstraints (or something) that takes an error sequence.