More work generalizing type grabbing, scaffolding for function building