![](https://secure.gravatar.com/avatar/3247bfd67c8fa4c4a08b8d30e49eab39.jpg?s=120&d=mm&r=g)
I haven't heard the term "phantom type" previously, but I like the idea. It's conceptually simple and yet quite powerful. Anton, it looks like this is a relatively new library. What has the feedback been so far? Is it getting significant uptake? Do you know if it has been adopted in any large code bases other than your own? If I understand the motivations behind the "NotType" proposal, it seems to me that phantom types could solve most (all?) of the intended use cases without all of the downsides that I previously raised. Are there any changes to the current type system, the runtime, or the current static type checker implementations that are needed to support phantom types? From the above discussion and the documentation , it sounds like the answer might be "no". -Eric