#### 1.3.5 Naming conventions

By convention, the names of procedures that always return a boolean value usually end in “`?`”. Such procedures are called predicates. By convention, the names of procedures that store values into previously allocated locations (see section see Storage model) usually end in “`!`”. Such procedures are called mutation procedures. By convention, the value returned by a mutation procedure is unspecified.

By convention, “`->`” appears within the names of procedures that take an object of one type and return an analogous object of another type. For example, ‘`list->vector`’ takes a list and returns a vector whose elements are the same as those of the list.