one sticking point for GNU users can be that BSD utils are more strict about positional order of e.g filename parameter and input options.
rm ~/foo -rf || rm -rf ~/foo
I was forced to get used to BSD syntax when I switched to MacOS but now I prefer it...