work in progress to make heavier use of inline auto type deduction
rather than building types in advance