(module c2_let_alias (data Tree (doc "boxed tree") (ctor TLeaf) (ctor TNode (con Int) (con Tree) (con Tree))) (fn count (doc "alias a := borrowed t, then match a") (type (fn-type (params (borrow (con Tree))) (ret (own (con Int))))) (params t) (body (let a t (match a (case (pat-ctor TLeaf) 0) (case (pat-ctor TNode v l r) 1))))))