feat(kernel/expr): change the rules for inferring implicit arguments, closes #344