safe-hasattr done