Watch out for NaNs

Very nice ^^

I haven't tested it yet, but does batman::signal really need to be unsafe?