Functions and data types that support a small garbage-collected runtime system