Move validation fns to a new ns; clean up how we specify valid opts.