Нет, вы не можете, потому что это нарушит вывод типа.
Кстати, вы можете использовать пространство имен модуля, чтобы исправить это:
module Name = struct
type t = { r0:int; ... }
end
module Func = struct
type t = { name: string; ... }
end
А потом, вы можете поставить префикс в полеимя справа от модуля:
let get_type r = r.Name.typ
let name = { Name.r0=1; r1=2; ... }
let f = { Func.name="foo"; typ=...; ... }
Обратите внимание, что вам нужно добавить префикс только к первому полю, и компилятор автоматически поймет, какой тип значения вы пишете.