add some safety checks for unsafe arg type declaration