I’m not sure what you mean by “value vy of y” in your definition. If it’s saying that y is an abstract type that implements vy in the way that Int64 is a concrete type that implements 1, then that’s impossible because by definition, only concrete types implement. It looks fine if that detail is omitted: in more familiar terms, x isa y if and only if typeof(x) <: y.
Couple things:
- 
isconcretetype(aType)can be used to distinguish a concrete type and an abstract type.Ptris definitely abstract. - 
Ptr{Float64}is a subtype, not an instance, ofPtr.