module TypeOf { 
 
  // TYPEOF, TYPE VALUES AND IS 
 
  fn test1() { 
    // types have a value at runtime.  to get this value, use typeof with an expression 
    let x1 = typeof(1); 
 
    // a type value is written ::type.  a type value is a regular value that can be  
    // printed, compared, etc. 
    let x2 = ::int; 
    let x3 = x1 == x2;  // true, e.g. typeof(1) == ::int 
 
    // to see if an expression x is a particular type, use x is type 
    let x4 = 1; 
    let x5 = x4 is int;  // true, e.g. 1 is an int 
  } 
}