type signature satisfiability solver under function composition