Maybe function type (int * int -> int * int) is incompatible with object type <..>? Kakadu On Sat, Apr 13, 2013 at 10:50 AM, Anthony Tavener wrote: > File "virtue.ml", line 462, characters 12-24: > Error: This expression has type > int * ((int * int -> int * int) list -> exn) * > (exn -> (int * int -> int * int) list) > but an expression was expected of type > int * ((< .. > as 'a) list -> exn) * (exn -> 'a list) > > The code in question: > > (fun id -> > let m = Modifier.attach id in > [ m Cast.total'k (fun (v,b) -> (v, max 1 (b-3))) (* <-- line > 462 *) > ; m Lab.total'k (fun (v,b) -> (v, max 1 (b-3))) ]) > > For reference, the signature of Modifier.attach: > Db.key -> int * ('a list -> exn) * (exn -> 'a list) -> 'a -> > Modifier.deleter > > OCaml version is 4.00.0 -- I know I should upgrade. Keep meaning to, I > guess I will if I wake up and there's no helpful soul explaining what could > be wrong here. :) > > Thank-you for any help. My eyes are starting to bug-out looking at this. > > -Tony > > >