Complex action with 3 Objects

I’m trying to implement a complex action with 3 Objects, is that in general possible?

Here is what I’ve come up with so far:

(current player #player)
(#player is #in #room)

(room *)
(name *)	Room

(name *)	dog
(animate *)
(* is #in #room)
(appearance * $ $)	There is a dog.

(name *)	fur
(* is #partof #dog)

(name *)	scissors
(item *)
(* is plural)
(* is handled)
(* is #heldby #player)

(understand [shear | $Words] as [shear $Obj of $Par with $Helper])
	*(split $Words by [with] into $Left and $Right)
	*(understand $Right as single object $Helper)
	*(split $Left by [of] into $FistOBJ and $SecondOBJ)
	*(understand $SecondOBJ as single object $Par)
	*(understand $FirstOBJ as single object $Obj)

(perform [shear $Obj of $Par with $Helper])
	Hello shepherd!

However, the “Hello shepherd” output is never reached,
typing " shear fur of dog with scissors"
results in “(Technical trouble: Auxiliary heap space exhausted. Attempting to recover with UNDO.)”

My fault – all works fine it was a typo in “$FistOBJ” instead of “$FirstObj”.