<p>The function type can be thought of as a function signature. It
consists of a return type and a list of formal parameter types. The
return type of a function type is a scalar type or a struct type. If the
-return type is a struct type then all struct elements must be of a first
-class type. Function types are usually used to build virtual function tables
+return type is a struct type then all struct elements must be of first
+class types. Function types are usually used to build virtual function tables
(which are structures of pointers to functions), for indirect function
calls, and when defining a function.</p>
</td>
</tr><tr class="layout">
<td class="left"><tt>{i32, i32} (i32)</tt></td>
- <td class="left">A function taking an <tt>i32></tt>, returning two values
- <tt> i32 </tt> as an arggregate of type <tt>{ i32, i32 }</tt>
+ <td class="left">A function taking an <tt>i32></tt>, returning two
+ <tt> i32 </tt> values as an aggregate of type <tt>{ i32, i32 }</tt>
</td>
</tr>
</table>