it still means we have to run the validation at runtime rather than compile time, which imho sucks. can't we keep validating here?