>    > Consider the code:
>    > 
>    >     my $foo = 1 is Found;
>    >     &bar($foo);
>    > 
>    >     sub bar { my $baz = shift; if ($baz.Found) { ...} }
>    > 
>    > Does the value of $baz have the Found property?
> 
> Yes.
> 
>    > If so, does the compiler know that?
> 
> No. Because it only has the property at run-time.

So, is it right to say that one can't use stricture to avoid
use of mistyped user defined value attached properties?
(Perhaps with the exception of references to a value
property in the same lexical scope as assignments of
that value?)

And, if this is so, then isn't it impossible to have useful
stricture about variable properties, because any given
reference to a property might be instead a value property
unknown to the compiler?

Reply via email to