added many more tests for partial application and compose