#lang plait
(type-case FLANG expr
@$\vdots$@
[(Call l r)
(Call (subst l from to) (subst r from to))]
[(Lam bound-id bound-body)
(if (eq? bound-id from)
expr
(Lam bound-id (subst bound-body from to)))]))
#lang plait
(type-case FLANG expr
@$\vdots$@
[(Call l r)
(Call (subst l from to) (subst r from to))]
[(Lam bound-id bound-body)
(if (eq? bound-id from)
expr
(Lam bound-id (subst bound-body from to)))]))