Should fix outstanding ::0nan issues (but I need to write more tests to be sure)