forbid inlining of higher order fns with constraints, tests
make change/update functions more polymorphic
test polymorphic update/change functions