 
   noarg_bad :: -> Num
   noarg_bad = -> "foo"
+  noarg_bad = noarg_bad.use()
 
   throws (-> noarg_bad()), "violates contract"
 

	  a = [42, "foo"]
	  a = a.use()

	  console.log a[0]
	  eq a[0], 42, "array get abides by contract"
	  throws (-> a[0] = "foo"), "array set violates contract"



  badRng :: (Str) -> Num
  badRng = (x) -> x
  badRng = badRng.use()

  throws (-> badRng "foo"), "violates range"

