+1 I think we should have `mode` in `['pos', 'neg', 'abs']`