correctet associativity of function types
constraints generation: abstraction no longer ingnores constraints from child node