-record(function_type, { parameters :: list(gwr@spec:value_type()), results :: list(gwr@spec:value_type()) }).