rename 'function' package to 'func', simplify prop getter/setter