check impl type