    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