- val (S,T) = match_terml [] empty_varset 
                  (Term `\x:'a. x = f (y:'b)`)
                  (Term `\a.    a = ~p`);
> val S = [{redex = `(f :'b -> 'a)`, residue = `$~`},
           {redex = `(y :'b)`,       residue = `(p :bool)`}] : ...
  val T = [{redex = `:'b`, residue = `:bool`}, 
           {redex = `:'a`, residue = `:bool`}] : ...
- match_terml [alpha] empty_varset  (* forbid instantiation of 'a *)
          (Term `\x:'a. x = f (y:'b)`)
          (Term `\a.    a = ~p`);
! Uncaught exception: 
! HOL_ERR
- match_terml [] (HOLset.add(empty_varset,mk_var("y",beta)))
          (Term `\x:'a. x = f (y:'b)`)
          (Term `\a.    a = ~p`);
! Uncaught exception: 
! HOL_ERR