Basic Helm Setup With Required Libraries For Emacs

The documentation in the Helm Developer Guide says you can setup sources like:

(helm :sources (helm-build-sync-source "test"
                 :candidates '(a b c d e))
      :buffer "*helm sync source*")

It kinda works, but there's some weirdness that happens and causes weird bugs. I wasn't seeing any errors, it just wouldn't work right until I opened something else that had a helm window and then went back to my code.

I was able to fix those issues by adding these calls above the code:

(require 'helm)
(require 'helm-lib)
(require 'helm-utils)

I use spacemacs which might be including some but not all of those which is why things were partially working, maybe?

Who knows, but once I added them all in, things worked as expected.