df_type refactoring, restored MWfix
Mostly functional df:type