sig val skel : bool array array val pos : (float * float * float) array val root : int val all : bool array array * (float * float * float) array * int val first : int end