09:57 < megane> here's the type for map currently: (('a #!rest -> 'b) (list-of 'a) #!rest list -> (list-o f 'b)) 09:58 < megane> if you do contravariance correctly the first function passed must _at least_ handle arbit rary number of arguments and return a subtype of 'b 09:59 < megane> that's the issue with the contravariance patch 10:00 < megane> you can't pass add1, because that takes only 1 argument 10:01 < megane> you can't change the function to ('a -> 'b) because the calling (map add1 list-a list-b) would pass incorrectly