Using traits to add extension methods

[FIXME] Elaborate.

Consider using default methods rather than extension traits [FIXME]

[FIXME] Elaborate.