Tradeoffs of defining types as subobjects
It often happens in formalisation that a type of interest is a subobject of another type of interest. For example, the unit circle in the complex plane is naturally a submonoid1.
What is the best way of defining this unit circle on top of Complex?
This blog post examines the pros and cons of the available designs.