Hol_datatype : type quotation -> unit
spec ::= [ <binding> ; ]* <binding> binding ::= <ident> = [ <clause> | ]* <clause> | <ident> = <| [ <ident> : <type> ; ]* <ident> : <type> |> clause ::= <ident> | <ident> of [<type> => ]* <type>
Datatype`btree = Leaf 'a | Node btree 'b btree
Hol_datatype `btree = Leaf of 'a | Node of btree => 'b => btree`
The => notation in the description highlights the fact that, in HOL, constructors are by default curried.