Currently, I am working on fast dynamic language implementations,
on combining concurrency models in a safe manner,
automatically preventing concurrency issues from manifesting,
and to enable developers to make sense of complex concurrent programs
with appropriate tools.
Writing specializations is generally pretty straight forward,
but there is at least one common pitfall.
When designing specializations,
we need to remind ourselves that type-based specializations are technically guards.