There are 4 deferred classes defined in ELKS to represent agents
ROUTINE [BASE_TYPE, OPEN_ARGS->TUPLE]
PROCEDURE[BASE_TYPE, OPEN_ARGS->TUPLE]
FUNCTION [BASE_TYPE, OPEN_ARGS->TUPLE, RESULT_TYPE]
PREDICATE[BASE_TYPE, OPEN_ARGS->TUPLE]
The OPEN_ARGS is tuple to represent the tuple of arguments which need to be
provided at call time.