Compose functions with multiple type signatures