delete_if should check true and not nil :)
non ifnone version of fetch supports a block for unretrievable keys