SOLID para programação funcional

Vindo de uma linguagem OOP, estou familiarizado com os princípios SOLID de design orientado a objetos. Parece que alguns deles se encaixariam em um modelo de programação funcional, enquanto outras partes não fazem sentido em um mundo sem estado. Existe um conjunto semelhante de princípios para refatorar o código funcional?