should this be called `validate_expression` or something along those lines?  Seems like a user could use this feature even if it's not the first value.