I think I found a solution without deparsing or size tests. Using module B, I can query
my $cv=B::svref_2object($code);
undef $code if ref $cv->START eq 'B::NULL';
where if ref $cv->START eq 'B::NULL'in my admittedly limited testing is true only and only if sub was only predetermined. It even filters out the subsystems without any type statements sub x{}, exactly as I wish, unlike the previous solution. My only problem with this is the possible differences in different versions of Perl, but I have not been able to find such information yet; In any case, I stick to my current version.
, "Perl Hacks: , " Chromatic, Damian Conway Curtis Poe (). , . , , , CPAN. , CPAN B::TerseSize, , B , . B . , , START - , , CV.