function
Usage: (infer-tag {:keys [tag], :as ast})
Performs local type inference on the AST adds, when possible,
one or more of the following keys to the AST:
* :tag represents the type the expression represented by the node
* :return-tag implies that the node will return a function whose
invocation will result in a object of this type
* :arglists implies that the node will return a function with
this arglists
* :ignore-tag true when the node is untyped, does not imply that
all untyped node will have this
Source