refacoterd assemblers by moving optional configuration keys to optional validation (if set, the type is validated)