added funcall and a top production that produces either tscalr or fscalr