(* Basic examples, without subtying.  They should all fail. *)

float 3.14;;

1.5 + 2;;

1 2;;

fun (x: T) -> x + 1;;

{}.x;;

{x=1; y=3.14}.z;;

let diag (r: {x:int; y:int}) = r.x + r.y in diag {x=1};;

(fun (x: int) -> x).x;;

{} 2;;
