Greg's BASH Wiki is the best resource that I've found for tips, tricks and discussion of the many, many mistakes that BASH almost encourages people to make.
https://mywiki.wooledge.org/BashGuide
Also, ShellCheck is an invaluable resource to use on all your scripts. When it complains about something, read up on why it doesn't like it and then decide to either fix your code or put in an exception to tell ShellCheck to ignore that particular issue for the next line.
+1 for shellcheck recommendation, it's fairly essential if you want to be good at Bash
Is shellcheck written in Haskell?
Yes, it's mentioned on their homepage - "written in Haskell, if you're into that sort of thing."
https://www.shellcheck.net/