original.name="Template_Valid_46" ====== >>> main.whiley public type Event is { int timeStamp } public type MouseEvent is { bool altKey } public type iohandler is function(E,T)->(T) public type MouseEventAttribute is { iohandler handler } public type Attribute is null | MouseEventAttribute function f(Attribute attr) -> int: if attr is MouseEventAttribute: return 0 else: return 1 function h(MouseEvent e, int t) -> int: if e.altKey: return t + 1 else: return t - 1 public export method test(): assume f(null) == 1 assume f({handler: &h}) == 0 ---