'at' function in old ML/OCaML code

I am trying to converet some old 2003 code and need to find help or ideally documentation on the older ML/OCaml code in particular the ‘at’ function.

I had to convert loads of map’s to List.map and Array.create to Array.make

Example code :-

  let rec filter_children = function
    | [] -> []
    | (id,data)::rest ->
        let (i,j) = at "child-" id 0 in
        if i=0 then (intern (string_after id j),data) :: filter_children rest
        else filter_children rest

Hope someone can help,


if you have a binary you may be able to infer the location from the symbol table or debug sections.

Do you have a compile step going? If so I would try to deliberately annotate at with a wrong type to make the compiler tell you its real type in an error message.

no no binary only source

Solved !