Functional languages favor parametric polymorphism with bounded quantification, thereby avoiding some of the pitfalls of inheritance. Informally, functional languages emphasize substitutability and de-emphasize implementation reuse, as reuse is better achieved through composition. Most ambitions of the LSP are effectively trivial in FP languages.