Trait definitions.
These are each in their own module so we can also define tests for the core types theyβre implβd on in the same module.