# Lesson VIII
The brush moves once. What was hidden and what is present are no longer two.
## Try
```prolog
?- infer([push(quote([dup, add])), call], Effect).
Effect = effect([int|S], [int|S]).
?- run([push(int(3)), push(quote([dup, mul])), call], [], Stack).
Stack = [int(9)].
```
## Lesson
Call is the elimination form the quotation representation was prepared for. We choice to store `quote(effect(In, Out))` and that was strong enough to instantiate and run quoted bodies without rewriting the runtime loop, literal boundary, or primitive row format.
```prolog
apply(call, [quote(Words)|Stack0], Stack) :-
run(Words, Stack0, Stack).
infer1(call, [quote(Effect)|Stack0], Stack) :-
!,
copy_term(Effect, effect(Stack0, Stack)).
```
[[07_lesson|Prev]] | [[09_lesson|Next]]