finish defining stateless inference system

no guarantee it's correct yet.

removed the arities from the type_op datatype, since they seem
unnecessary (should be equal to the number of free type variables
in the predicate).