Issue 10157 type contents refactor

See #10157. This compiles now.