Higher-order unification via explicit substitutions: the case of higher-order patterns