# Is dispatch on another type's parameter (::NotMyType{MyType}) piracy?

**URL:** <https://discourse.julialang.org/t/is-dispatch-on-another-types-parameter-notmytype-mytype-piracy/110797>\
**Category:** General Usage\
**Created:** [February 26, 2024, 5:16pm UTC](https://discourse.julialang.org/t/is-dispatch-on-another-types-parameter-notmytype-mytype-piracy/110797 "2024-02-26T17:16:47Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![mnemnion](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mnemnion/32/206596_2.png) [@mnemnion](https://discourse.julialang.org/u/mnemnion)\
**Post date:** [February 26, 2024, 4:19pm UTC](https://discourse.julialang.org/t/is-dispatch-on-another-types-parameter-notmytype-mytype-piracy/110797/3 "2024-02-26T16:19:49Z")

</div>

> [@Unsure about properties](https://discourse.julialang.org/t/unsure-about-properties/110756/5):
>
> I think it’s starting to sink in that I don’t own `Type{S}` because I don’t own `Type`.

Whether or not defining these properties is a good idea (unlikely) I don’t see how defining methods on `NotMyType{MyType}` is piracy.

It might not be a good idea, mind you: people generally expect that `NotMyType` will behave in a consistent way, and it’s bad form to go against the grain that way.

But `notmymethod(t::NotMyType{MyType})` can’t affect code you don’t own, which is the definition of type piracy. Any other `notmymethod(t:NotMyType)` is either less specific or concretely different from that signature, so this cannot change the method resolved in any other circumstance.

I could be missing something here, in which case I’ll need to change a couple methods on `Vector{MyType}` which I’ve defined while assuming that this isn’t piratical. So this is more of a motivated question than a definitive statement.

---

_[View the full topic](https://discourse.julialang.org/t/is-dispatch-on-another-types-parameter-notmytype-mytype-piracy/110797)._
