May be it would make sense to keep defdelegate, but instead of `defdelegate [fun: arity] ...` use `defdelegate [fun(argname), fun2(argname)] ...` syntax?