Is it a turtle prime? As we all know, it's turtles all the way down. But is it primes all the way down too?

A number is considered a "turtle-prime" if it satisfies the following conditions:

1) It is prime.
2) It is possible to remove a single digit leaving a prime number.
3) Step 2 can be repeated until left with a single digit prime.


For example, 239 is a "turtle-prime", as it can be reduced to 23 then either 2 or 3, both of which are prime. It also can be reduced to 29 then 2. 151 is not a turtle prime, as it reduces to 15 (not prime), 51 (not prime), or 11. 11 is prime, but can only reduce to 1, which is not. 

Given a positive integer, determine if it is a "turtle-prime". Your output can be in any form so long as it gives the same output for any truthy or falsey value.

Test cases:

input -&gt; output
1     -&gt; false
2     -&gt; true
17    -&gt; true
19    -&gt; false
239   -&gt; true
389   -&gt; false


Scoring

This is code-golf, so the shortest answer in each language wins!
Haskell, 104 102 99 98 97 95 91 bytes



p x=product[2..x-1]^2`mod`x&gt;0
f[]=1&gt;0
f x|y&lt;-zip[0..]x=or[f[snd b|b&lt;-y,b/=a]|a&lt;-y,p$read x]


Try it online!

Explanation

First we set up a primality test

p x=product[2..x-1]^2`mod`x&gt;0


This uses Wilson's Theorem to determine the primality of an input.

We then declare a base case, which will assert that the empty string is truthy.

f[]=1&gt;0


Now we define the actual function

f x|y&lt;-zip[0..]x=or[f[snd b|b&lt;-y,b/=a]|a&lt;-y,p$read x]


We use a pattern guard to bind zip[0..]x to y, because we need to use it twice later.  We then assert the answer is

or[f[snd b|b&lt;-y,b/=a]|a&lt;-y,p$read x]


[[snd b|b&lt;-y,b/=a]|a&lt;-y] is all of the numbers that are a digit removed from our input.  So we are asserting that at least one of these numbers is truthy for f.  In order to ensure that composite numbers are falsy we add in prime$read x.  If the number is not prime the list will become empty and the any of a empty list is false.