Add fatal error reporting with oneOf, and improve error messages

Signed-off-by: Francis Galiegue <fgaliegue@gmail.com>