minor refactorings
adds refute_null()