Composing function composition: How does (.).(.) work?
Let’s first play typechecker for the mechanical proof. I’ll describe an intuitive way of thinking about it afterward. I want to apply (.) to (.) and then I’ll apply (.) to the result. The first application helps us to define some equivalences of variables. ((.) :: (b -> c) -> (a -> b) -> a … Read more