The goal of developing labelling functions is to produce a high quality training dataset that can then be used to train a traditional machine learning model. Ideally, for each label that you want to apply you would have a handful of labelling functions that overlap a bit. In the best case, your labelling functions would be relatively independent of each other.