[enh] test 'or and' case
[mod] rename function to have a more close to reality name
[fix] be closer to python grammar