indexing
	description: "Describes an Eiffel function"

class interface
	EIFFEL_FUNCTION

creation 
	make

feature -- return type and invocation

	call_function (object: ANY; arguments: ARRAY [ANY]): ANY
			-- call if a function
		require
			conforms: valid_arguments (arguments)
		ensure
			result_conforms: result_type.has_instance (Result)

	result_type: EIFFEL_TYPE
	
invariant

	result_type_not_void: result_type /= void;

end -- class EIFFEL_FUNCTION