more queries.

this one is problematic:
%query 1 1 typ (tcons (bind z (dcons (rect tnone top) (dcons (arrow top (sel z z)) dnil))) tnil) (app (var z) (s z) (var z)) (sel z z).
because we cannot have any self in the result, even if it fits the env.
we could add a case like app-var:
t/app-var : typ G (app (var N) X E2) T
     <- typ G (var N) (bind N DS)
     <- dlk DS X (arrow T2 T)
     <- typ G E2 T2
     <- sub-env-size (tcons (bind N DS) GN) (s N) G
     <- wf-tp (tcons (bind N DS) GN) T2
     <- wf-tp (tcons (bind N DS) GN) T
      .
and it would probably work, except that it complicates eval-safe, as
generalizing over the env might be necessary?