* use type instead of value
* fix remaining initializer-list users
* impruv
* last consumer?
* consumer
Co-authored-by: Matthew Kennedy <makenne@microsoft.com>
* maybe that wasn't a good idea
* we don't need a copy because you can't clear the func after setting it
* no longer a template - move logic to cpp
* fix tests
* rename to avoid object collision