There are two different syntaxes to declare types/interfaces
(* Syntax 1 *)
type person = {
name: string;
age: int;
job: string;
}
(* Syntax 2 *)
type person = <
name: string;
age: int;
job: string
>
Is it nominal vs structural typing? If yes, does OCaml/ReasonML support both?