Issue 10157 type contents refactor

See #10157. This compiles now.

Fixes #10278.