type category = | Motion| Looks| Events| Control| Sensing| Operators| Variables| Pen| Lists| Other
type shape = | Hat| Stack| Cap| C_block| C_cap| Reporter| Predicate| Ring| Command_ring
type part = | Word of string| Num of string| Text of string| Bool| Lambda of string
type arg = | Lit of string| Block of block
and block = {op : string;args : arg list;mouths : block list list;
}type script = {x : float;y : float;blocks : block list;
}val snap_specs : spec listval spec : string -> specval custom_op : string -> string -> stringval params : string -> string listval make : string -> blockval variable : string -> block