Add separated Field#read_if
Fix most warnings