# 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
```prolog
apply(call, [quote(Words)|Stack0], Stack) :-
run(Words, Stack0, Stack).
infer1(call, [quote(Effect)|Stack0], Stack) :-
!,
copy_term(Effect, effect(Stack0, Stack)).
```