I'm trying to learn ReasonML and following the example for bs-json we can decode raw json into a type like this:
type point = {
  x: float,
  y: float
};
module Decode = {
  let point = json =>
    Json.Decode.{
      x: json |> field("x", float),
      y: json |> field("y", float)
    };
}
I'm a bit confused as to what this Json.Decode.{ ... } is.  I understand we can open up a scope into a module using the .() dot parenthesis, but I haven't seen this dot curly braces before.