deferred class
	ROUTINE [BASE_TYPE, OPEN_ARGS -> TUPLE create default_create end]

General
	cluster: base
	description: 
		"Objects representing delayed calls to a routine,
		with some operands possibly still open"

Ancestors
	HASHABLE*

Queries
	Callable: BOOLEAN
	empty_operands: OPEN_ARGS
	hash_code: INTEGER_32
	is_equal (other: [like Current] ROUTINE [BASE_TYPE, OPEN_ARGS]): BOOLEAN
	is_hashable: BOOLEAN
	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] ROUTINE [BASE_TYPE, OPEN_ARGS])
	apply
	call (args: OPEN_ARGS)
	copy (other: [like Current] ROUTINE [BASE_TYPE, OPEN_ARGS])
	set_operands (args: OPEN_ARGS)

Constraints
	callable