Could the initial PR just include the changes to `mixin`? Function/objects are a little tricky to deal with in javascriptland and I don't think the potential brevity here would be worth it.