ignora i warning per queste due enum
rende esplicite alcune assert
riformatta il codice