Похоже, ваш Seq.map ожидает символ RomDig, но вместо этого получает функцию, которая возвращает строку в romDig. Это звучит правильно, потому что похоже, что ваша карта отображает строки в RomDig. В будущем обязательно включите определения типов, так как это значительно облегчит вам задачу. Здесь, в charRomDig, я заметил, что ваши совпадения - это «I», «V» и «X» вместо «I», «V» и «X». Когда вы рассматриваете строку как последовательность отдельных символов, совпадение также должно быть символами.
type RomDig = I | V | X
type RomNum = RomDig seq //equivalent to seq<RomDig>
let charRomDig c:RomDig = match c with | 'I' -> I | 'V' -> V | 'X' -> X | _ -> I
let strToRom (str:string): RomNum =
let xTimes2 = str |> Seq.map(charRomDig)
xTimes2
let XI = strToRom "XI"