Rewrote the syntax in a more unified way using an ocaml syntax like.