class
	FUNCTION [BASE_TYPE, OPEN_ARGS -> TUPLE create default_create end, RESULT_TYPE]

General
	cluster: base
	description: 
		"Objects representing delayed calls to a function,
		with some arguments possibly still open.
		
		Note: Features are the same as those of ROUTINE,
		with `apply' made effective, and the addition
		of `last_result' and `item'."

Ancestors
	ROUTINE* [BASE_TYPE, OPEN_ARGS -> TUPLE create default_create end]

Queries
	Callable: BOOLEAN
	empty_operands: OPEN_ARGS
	hash_code: INTEGER_32
	is_equal (other: [like Current] FUNCTION [BASE_TYPE, OPEN_ARGS, RESULT_TYPE]): BOOLEAN
	is_hashable: BOOLEAN
	item (args: OPEN_ARGS): RESULT_TYPE
	last_result: RESULT_TYPE
	open_count: INTEGER_32
	operands: OPEN_ARGS
	postcondition (args: [like operands] OPEN_ARGS): BOOLEAN
	precondition (args: [like operands] OPEN_ARGS): BOOLEAN
	target: ANY
	valid_operands (args: OPEN_ARGS): BOOLEAN
	valid_target (args: TUPLE): BOOLEAN

Commands
	adapt (other: [like Current] FUNCTION [BASE_TYPE, OPEN_ARGS, RESULT_TYPE])
	apply
	call (args: OPEN_ARGS)
	clear_last_result
	copy (other: [like Current] FUNCTION [BASE_TYPE, OPEN_ARGS, RESULT_TYPE])
	set_operands (args: OPEN_ARGS)