Reorganise types into their own module
First working subset of expansion
.