# "Meaning", type-piracy, and method merging

**URL:** https://discourse.julialang.org/t/meaning-type-piracy-and-method-merging/11003
**Category:** Internals & Design
**Tags:** type-piracy
**Created:** [May 18, 2018, 8:11pm UTC](https://discourse.julialang.org/t/meaning-type-piracy-and-method-merging/11003 "2018-05-18T20:11:10Z")
**Posts on this page:** 1
**Showing post:** 51

<div class="post-metadata">

### Author: ![jameson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jameson/32/23_2.png) [@jameson](https://discourse.julialang.org/u/jameson)
#### Post date: [June 1, 2018, 6:17pm UTC](https://discourse.julialang.org/t/meaning-type-piracy-and-method-merging/11003/51 "2018-06-01T18:17:08Z")

</div>

> I think doing semantically clever things is very hard, because a persistent cache needs to store different versions of foo(x::Int) depending on how dependencies like Base.:+ changed, in a possibly load-order dependent way, different sessions and package versions (developers churn out a lot of versions in a single sesssion!).

That seems like a fairly nice summary of some of the challenges someone might encounter if they wanted to resolve [https://github.com/JuliaLang/issues/265](https://github.com/JuliaLang/issues/265) for example. But unfortunately, as you mentioned above, this “caching between sessions [is] impossible”.

---

_[View the full topic](https://discourse.julialang.org/t/meaning-type-piracy-and-method-merging/11003)._
