no title added by megane on Sun Dec 16 16:56:20 2018

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