WIP: of_type impl

closes #7316
As `wanted & not_wanted` should surely be empty? :)