create type Complex as struct (r float, i float);
create type Rational as struct (n integer, d integer);