Add arrow composition with tests.
Add checks for type variables (A, B, C, ...) on signature.
Add test for mismatching type variables on arguments or return values.